@font-face {
    font-family: 'Trajan Pro Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Trajan Pro Regular'), url('../webfonts/TrajanPro-Regular.ttf') format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'Trajan Pro Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Trajan Pro Bold'), url('../webfonts/TrajanPro-Bold.otf') format('woff');
    font-display: swap;
}

:root {
    --link-hover: #f4b978;
}

/* Base */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    padding: 0;
    margin: 0;
    background: radial-gradient(1200px 700px at 50% -200px, rgba(244,185,120,.18), transparent 55%),
                radial-gradient(900px 500px at 20% 0%, rgba(252,105,80,.10), transparent 60%),
                linear-gradient(180deg, #120a05 0%, #0b0503 100%);
    color: #f4efe7;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

a {
    display: block;
    text-decoration: none;
    color: #ecd6b4;
}
a:hover { color: var(--link-hover); }

/* Layout */
.container {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 10px;
}
.container::after{
    content:"";
    display:block;
    clear:both;
}

.hero-top {
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
    height: 1098px;
    background: url('../images/top-bg2.webp') no-repeat;
    background-size: cover;
    background-position: center top;
    margin-top: -95px;
    margin-bottom: -560px;
    filter: saturate(1.05) contrast(1.02);
}

.hero-top .render {
    background: url('../images/render-top-bg.webp');
    width: 600px;
    height: 634px;
    background-size: contain;
}

/* Menu */
nav {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(18,10,5,.60);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(167, 131, 111, 0.25);
    padding: 10px 0;
}

nav .container { margin: 0 auto; }

nav ul {
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    margin: 0;
    gap: 6px;
}

nav ul li { position: relative; }

nav ul li a {
    color: rgba(244,239,231,.88);
    font-family: 'Trajan Pro Bold';
    text-transform: uppercase;
    text-decoration: none;
    padding: 10px 14px;
    display: block;
    border-radius: 999px;
    letter-spacing: .6px;
    text-shadow: none;
    transition: transform .15s ease, background .2s ease, color .2s ease;
}

nav ul li a:hover,
nav ul li.active a {
    background: rgba(244,185,120,.12);
    color: var(--link-hover);
    transform: translateY(-1px);
}

nav ul li.language a {
    background: rgba(28,15,7,.65);
    border: 1px solid rgba(167, 131, 111, 0.25);
    box-shadow: none;
    border-radius: 20px;
}

.flag-lang {
    width: 15px;
    filter: drop-shadow(0 2px 0px #5e1212);
}



/* Dropdown */
.dropdown .dropbtn { cursor: pointer; }

.dropdown-content {
    display: none;
    position: absolute;
    min-width: 160px;
    z-index: 1;
    top: 100%;
    background: rgba(18,10,5,.82);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(167, 131, 111, 0.25);
    border-radius: 14px;
    padding: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,.35);
    overflow: hidden;
}

.dropdown-content a {
    color: rgba(244,239,231,.88);
    padding: 10px 12px;
    width: max-content;
    display: block;
    text-decoration: none;
    margin: 0;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 10px;
}

.dropdown-content a:hover {
    background: rgba(244,185,120,.12) !important;
}

.dropdown:hover .dropdown-content { display: block; }

/* Discord slide */
.discord-slide {
    position: fixed;
    bottom: 40px;
    right: -230px;
    z-index: 99999;
    transition: right 0.35s ease;
    cursor: pointer;
}
.discord-slide:hover { right: 40px; }

.discord-slide img {
    width: 360px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 0 20px rgba(0,0,0,0.4);
}

/* Logo */
.logo {
    float: right;
    margin-top: 160px;
    margin-right: 390px;
    width: 400px;
    transition: 1s;
    filter: drop-shadow(0 18px 28px rgba(0,0,0,.45));
}
.logo:hover {
    filter: drop-shadow(0 24px 34px rgba(0,0,0,.55)) brightness(1.15);
}

/* Columns */
.col-left, .col-middle, .col-right, .col-full {
    position: relative;
    display: flow-root;
    padding: 0 6px;
    justify-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    float: left;
}

.col-left, .col-right { width: 300px; }
.col-middle { width: 620px; }

.card {
    margin-bottom: 5px;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 18px rgba(0,0,0,.25);
    border: 1px solid rgba(167, 131, 111, 0.25);
    background: rgba(28,15,7,.35);
}

.sidenav-trigger {
    display: none;
    background: #351a08;
    text-align: center;
    color: #fff;
    font-size: 36px;
    border-bottom: 1px solid #a67a5d;
}

.large-href {
    width: 100%;
    height: 100px;
    background: url('../images/btn-href.jpg') no-repeat;
    background-size: cover !important;
    border-bottom: 1px solid #4e0d0d;
    text-align: center;
    line-height: 100px;
    color: #d0a990;
    text-shadow: 0px 0px 7px rgba(90, 65, 49, 0.49);
    font-size: x-large;
    text-decoration: none;
    font-family: 'Trajan Pro Bold';
    text-transform: uppercase;
    transition: 1s;
    border-radius: 16px;
    border: 1px solid rgba(167, 131, 111, 0.25);
    box-shadow: 0 8px 18px rgba(0,0,0,.25);
    overflow: hidden;
    position: relative;
    isolation: isolate;
}
.large-href:before{
    content:"";
    position:absolute;
    inset:0;
    background: linear-gradient(90deg, rgba(0,0,0,.35), rgba(0,0,0,.05));
    z-index:0;
}
.large-href > *{ position: relative; z-index: 1; }
.large-href .icon {
    float: left;
    line-height: 100px;
    margin-left: 30px;
}
.large-href:hover {
    filter: none;
    transform: translateY(-1px);
}

.card-title {
    font-family: 'Trajan Pro Regular';
    color: #ecd6b4;
    text-align: center;
    background: linear-gradient(180deg, rgba(244,185,120,.18), rgba(28,15,7,.0)),
                url('../images/top-light-card.png') no-repeat 50% 50%;
    background-size: contain;
    font-size: 13px !important;
    text-shadow: none;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(167, 131, 111, 0.25);
    letter-spacing: .7px;
}

.card-body {
    background: rgba(28, 15, 7, .78);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    box-shadow: inset 0 -12px 24px rgba(0,0,0,.35);
    padding: 14px;
}

/* Forms */
.input-group {
    position: relative;
    width: 100%;
}

.input-group .icon {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(244,239,231,.45);
    text-shadow: none;
}

.input-group input {
    width: 100%;
    padding: 12px 42px;
    border: 1px solid rgba(167, 131, 111, 0.25);
    border-radius: 14px;
    color: #f4efe7;
    background: rgba(0,0,0,.35);
    font-size: 15px;
    box-shadow: none;
    font-family: sans-serif;
}

.input-group input::placeholder { color: rgba(244,239,231,.45); }

.input-group input:focus {
    outline: none;
    border-color: rgba(244,185,120,.55);
    box-shadow: 0 0 0 3px rgba(244,185,120,.18);
}


.forgot-password {
    padding: 15px 10px;
    background: rgba(0,0,0,.28);
    border-top: 1px solid rgba(167, 131, 111, 0.25);
    text-align: center;
    color: rgba(244,239,231,.72);
    border-radius: 0 0 16px 16px;
}
.forgot-password p { margin: 0; }
.forgot-password a { color: #f8f0e4; }

/* News */
.card.news .card-body { background: rgba(23,11,4,.72); }

.news-card {
    margin: 20px 0;
    border-radius: 5px;
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.2);
}

li.new-donation a { text-shadow: 0px 0px 5px; }
li.new-donation { background-color: #521f08 !important; }

.payment-opts {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-around;
    padding: 10px 0;
}
.payment-opts div {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.news-body { background: transparent; padding: 10px 6px; }

.news-title {
    font-size: 24px;
    font-weight: bold;
    color: #f4efe7;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: .8px;
}

.news-content {
    font-size: 16px;
    line-height: 1.5;
    color: rgba(244,239,231,.72);
    margin-bottom: 15px;
    opacity: 1;
}

.highlight { color: #e24b3c; }

.news-footer {
    background-color: #1c0f07;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    padding: 20px;
}

.news-footer .cc {
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: flex-start;
    justify-content: center;
}

.wp-pagenavi>a, .author {
    color: #fc6950 !important;
    font-family: sans-serif !important;
    font-weight: 100 !important;
}

.date-posted {
    color: #d6c2a5;
    font-weight: 100;
    font-family: sans-serif;
}

.read-all-btn {
    background: rgba(244,185,120,.14);
    border: 1px solid rgba(167, 131, 111, 0.25);
    border-radius: 999px;
    color: #f4efe7;
    padding: 10px 14px;
    cursor: pointer;
    transition: all 0.3s ease;
    float: right;
    box-shadow: none;
}
.read-all-btn:hover {
    background: rgba(244,185,120,.22);
    box-shadow: 0 10px 18px rgba(0,0,0,.25);
}

.news-title .options {
    float: right;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 50px;
    font-size: 22px;
}

/* Slider */
.slider {
    background-color: transparent;
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(167, 131, 111, 0.25);
    box-shadow: 0 10px 30px rgba(0,0,0,.35);
}

.slider .card-body {
    position: relative;
    width: 100%;
    height: 282px;
    padding: 0;
}

.slider .slide {
    display: none;
    padding: 0;
    text-align: center;
    height: 282px;
    background-size: cover;
}

.slider .slide.active { display: block; }

.slider .slide .content {
    bottom: 0;
    position: absolute;
    text-align: left;
    padding: 16px 16px 14px;
    width: 100%;
    background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.55));
    font-family: 'Trajan Pro Bold';
}

.slider .slide .content h2::before,
.slider .slide .content p::before{
  content: "";
  position: absolute;
  z-index: -1;

  /* “margen” visual sin padding real (no cambia layout) */
  left: -10px;
  right: -10px;
  top: -4px;
  bottom: -4px;

  border-radius: 12px;
  background: rgba(0,0,0,.32);
  border: 1px solid rgba(167,131,111,.18);

  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}


.slider .slide .content h2 {
    color: #ecd6b4;
    font-family: 'Trajan Pro Bold';
    margin-bottom: 0;
}

.slider .slide .content p {
    opacity: 0.7;
    color: #ecd6b4;
    font-family: sans-serif;
    font-weight: 100;
    font-size: 14px;
    margin-top: 0;
}

.slider button {
    background: rgba(0,0,0,.28);
    transition: 0.5s;
    color: #fffbec;
    border: 1px solid rgba(167, 131, 111, 0.25);
    border-radius: 4px;
    padding: 10px 15px;
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.slider button.prev { left: 10px; }
.slider button.next { right: 10px; }
.slider button:hover { background: rgba(244,185,120,.18); }

/* Ranking */
.ranking {
    width: 100%;
    border-collapse: collapse;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(167, 131, 111, 0.25);
    background: rgba(0,0,0,.22);
    box-shadow: 0 8px 18px rgba(0,0,0,.25);
    font-family: 'Trajan Pro Bold';
    font-size: 12px;
}

.ranking th, .ranking td {
    padding: 8px;
    text-align: left;
    border-bottom: 1px solid rgba(167,131,111,.35);
}

.ranking thead { background: rgba(244,185,120,.18); }

.ranking th {
    font-weight: 700;
    color: #f4efe7;
    text-shadow: none;
}

.ranking tbody tr { transition: background-color 0.3s; background: rgba(0,0,0,.15); }
.ranking tbody tr:nth-child(2n){ background: rgba(0,0,0,.26); }
.ranking tbody tr:hover { background: rgba(244,185,120,.10); }
.ranking tbody tr:last-child td { border-bottom: none; }

.ranking tbody td:nth-child(1) {
    background: rgba(0,0,0,.35);
    text-align: center;
    font-weight: 900;
    font-family: sans-serif;
    color: #f4b978;
    text-shadow: none;
    border-right: 1px solid rgba(167, 131, 111, 0.25);
}

.ranking, .ranking tbody td:nth-child(2), .ranking tbody td:nth-child(3) {
    color: rgba(244,239,231,.86);
}

.ranking thead th:nth-child(1), .ranking thead th:nth-child(3), .ranking thead th:nth-child(4) {
    text-align: center;
}
.ranking tbody td:nth-child(3) { text-align: center; }
.ranking tbody td:nth-child(4) { color: #ecd6b4; text-align: center; }

.Jinno { color: #6871e7 !important; }
.Shinsoo { color: #e22727 !important; }
.Chunjo { color: #dfd02d !important; }

/* Links/inputs/buttons in tables */
table a, table input, table button {
    font-size: 12px;
    color: rgba(244,239,231,.85);
    font-family: 'Trajan Pro Regular';
    padding: 8px 10px;
    margin: 0;
    box-shadow: none;
    border: 1px solid rgba(167, 131, 111, 0.25);
    width: -webkit-fill-available;
    border-radius: 12px;
    background: rgba(0,0,0,.18);
}

/* Collapse helpers */
.collapse#add,
.collapse#edit,
.collapse[id^="payment-"],
.collapse#add[aria-expanded="false"],
.collapse#edit[aria-expanded="false"],
.collapse[id^="payment-"][aria-expanded="false"] {
  display: none;
}
.collapse#add[aria-expanded="true"],
.collapse#edit[aria-expanded="true"],
.collapse[id^="payment-"][aria-expanded="true"] {
  display: contents;
}

/* Statistics */
.card.statistics ul { margin: 0; padding: 10px 10px; }
.card.statistics ul li {
    display: block;
    background: rgba(0,0,0,.22);
    margin-bottom: 5px;
    border: 1px solid rgba(167, 131, 111, 0.25);
    border-radius: 14px;
    color: #ecd6b4;
    font-family: 'Trajan Pro Bold';
    font-size: 11px;
    padding: 12px 12px;
    box-shadow: none;
}
.center { text-align: center !important; }
.card.statistics ul li strong { float: right; }

/* Background bottom */
.col-full {
    background: url('../images/bottom-bg.webp') 50% no-repeat;
    width: 100%;
    padding: 0;
    height: 1241px;
    margin-top: -900px;
    margin-bottom: -110px;
    z-index: -10;
}

/* Pagination */
.pagination {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.wp-pagenavi {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    margin-bottom: 20px;
}

/* Downloads */
.links-download{
  width: min(50%, 420px);
  margin: 30px auto 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 0;
  list-style: none;
}
.links-download li {
    display: block;
    font-family: 'Trajan Pro Bold';
}
.download-btn{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(244,185,120,1) 0%, rgba(198,67,13,1) 100%);
  color: #1a0a04;
  font-family: 'Trajan Pro Bold';
  text-transform: uppercase;
  letter-spacing: .6px;
  text-decoration: none;
  box-shadow: 0 14px 26px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.18);
  transition: transform .15s ease, filter .2s ease, box-shadow .2s ease;
}
.download-btn:hover{
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 18px 30px rgba(0,0,0,.34), 0 0 18px rgba(244,185,120,.22);
}
.download-btn:active{
  transform: translateY(0);
  filter: brightness(1.02);
}
.download-btn .icon{ font-size: 18px; line-height: 1; }

.download-btn--alt{
  background: rgba(244,185,120,.12);
  color: rgba(244,239,231,.92);
  border: 1px solid rgba(167,131,111,.35);
  box-shadow: 0 10px 18px rgba(0,0,0,.22);
  text-transform: none;
}
.download-btn--alt:hover{
  background: rgba(244,185,120,.20);
  box-shadow: 0 14px 22px rgba(0,0,0,.26), 0 0 18px rgba(244,185,120,.18);
}
.download-help{
  font-size: 13px;
  color: rgba(244,239,231,.65);
  margin: 8px 0 0;
  text-align: center;
}

/* Tables misc */
.table.table-hover {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
.table.table-hover img {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
    display: block;
    margin-bottom: 20px;
}

.specs-table { border-spacing: 5px; }
.specs-table tr {
    background-color: #1e0f06;
    color: #ffe9a8;
    text-align: center;
    font-size: 14px;
}
.specs-table tr th, .specs-table tr td { padding: 10px 21px; }
.specs-table .odd { background-color: #321b0c; }

.bold { font-weight: bold; }

.account-table {
    width: 100%;
    border-spacing: 0;
    padding: 30px 0;
}
.account-table tr { background-color: #321b0c; }
.account-table tr td {
    padding: 15px 21px;
    border-bottom: 1px solid #341c0b;
}
.account-table tr:nth-child(2n) { background-color: #45240e !important; }
.account-table .glow { text-shadow: 0px 0px 3px #c5b71e; }
.account-table tbody tr td form { width: 100%; display: block; }

/* Alerts */
.alert {
  position: relative;
  padding: 15px 40px 15px 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-family: Arial, sans-serif;
  font-size: 14px;
}
.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}
.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}
.alert-dismissible .close {
  position: absolute;
  top: 10px;
  right: 10px;
  color: inherit;
  background: transparent;
  border: none;
  font-size: 20px;
  cursor: pointer;
  line-height: 1;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.alert-dismissible .close:hover { opacity: 1; }
.fade.in {
  opacity: 1;
  transition: opacity 0.15s linear;
}

/* Footer */
footer {
    background: rgba(18,10,5,.55);
    border-top: 1px solid rgba(167, 131, 111, 0.25);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #fff;
    display: flex;
    justify-content: space-around;
    align-items: center;
    position: relative;
    bottom: 0;
    width: 100%;
    flex-wrap: nowrap;
    padding: 18px 16px;
    gap: 16px;
}

footer .left-text,
footer .right-text {
    font-size: 14px;
    color: rgba(244,239,231,.72);
    font-family: 'Trajan Pro Regular';
}

footer .right-text { text-align: right; }

footer .center-logo img {
    height: 100px;
    opacity: 0.5;
}

footer span {
    color: #eedfc8;
    font-weight: bold;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}
footer span a { margin-left: 35px; }

.justify-content-center {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

/* Tablas “FULL INSIDE” (sin marco interior) */
.card .card-body:has(table.ranking){
  padding: 0 !important;
  overflow: hidden !important;
}
table.ranking{
  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  border-collapse: collapse !important;
}
table.ranking thead{
  background: rgba(244,185,120,.18) !important;
}
table.ranking th,
table.ranking td{
  border-bottom: 1px solid rgba(167,131,111,.35) !important;
}
table.ranking tbody td:nth-child(1){
  background: rgba(0,0,0,.22) !important;
  border-right: 1px solid rgba(167,131,111,.25) !important;
}

/* Responsive */
@media only screen and (max-width: 992px){
    .col-left, .col-middle, .col-right {
        width: 90%;
        display: block;
        padding: 10px 20px;
        margin-left: auto;
        margin-right: auto;
    }

    nav {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,.90);
        z-index: 10;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    nav ul { flex-direction: column; }
    nav ul li { padding: 5vh; }

    .hero-top {
        width: 100%;
        background-size: cover;
        background-position: 30%;
        margin-top: 0;
    }

    .logo {
        float: unset !important;
        margin: unset;
        width: 300px;
        margin-top: -240px;
        filter: drop-shadow(0 16px 26px rgba(0,0,0,.50));
    }

    .logo-container {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
    }

    .sidenav-trigger { display: block; }

    .payment-opts {
        display: flex !important;
        flex-direction: column !important;
    }

    .card { border-radius: 18px; }
    .card-body { padding: 14px; }
}

/* Utilidades (las dejo tal cual por si se usan en el HTML) */
/* Padding Top (pt) */
.pt-0 { padding-top: 0px; }
.pt-5 { padding-top: 5px; }
.pt-10 { padding-top: 10px; }
.pt-15 { padding-top: 15px; }
.pt-20 { padding-top: 20px; }
.pt-30 { padding-top: 30px; }

/* Padding Bottom (pb) */
.pb-0 { padding-bottom: 0px; }
.pb-5 { padding-bottom: 5px; }
.pb-10 { padding-bottom: 10px; }
.pb-15 { padding-bottom: 15px; }
.pb-20 { padding-bottom: 20px; }
.pb-30 { padding-bottom: 30px; }

/* Padding Left (pl) */
.pl-0 { padding-left: 0px; }
.pl-5 { padding-left: 5px; }
.pl-10 { padding-left: 10px; }
.pl-15 { padding-left: 15px; }
.pl-20 { padding-left: 20px; }
.pl-30 { padding-left: 30px; }

/* Padding Right (pr) */
.pr-0 { padding-right: 0px; }
.pr-5 { padding-right: 5px; }
.pr-10 { padding-right: 10px; }
.pr-15 { padding-right: 15px; }
.pr-20 { padding-right: 20px; }
.pr-30 { padding-right: 30px; }

/* Padding All Sides (pa) */
.pa-0 { padding: 0px; }
.pa-5 { padding: 5px; }
.pa-10 { padding: 10px; }
.pa-15 { padding: 15px; }
.pa-20 { padding: 20px; }
.pa-30 { padding: 30px; }

/* Padding Top and Bottom (py) */
.py-0 { padding-top: 0px; padding-bottom: 0px; }
.py-5 { padding-top: 5px; padding-bottom: 5px; }
.py-10 { padding-top: 10px; padding-bottom: 10px; }
.py-15 { padding-top: 15px; padding-bottom: 15px; }
.py-20 { padding-top: 20px; padding-bottom: 20px; }
.py-30 { padding-top: 30px; padding-bottom: 30px; }

/* Padding Left and Right (px) */
.px-0 { padding-left: 0px; padding-right: 0px; }
.px-5 { padding-left: 5px; padding-right: 5px; }
.px-10 { padding-left: 10px; padding-right: 10px; }
.px-15 { padding-left: 15px; padding-right: 15px; }
.px-20 { padding-left: 20px; padding-right: 20px; }
.px-30 { padding-left: 30px; padding-right: 30px; }

/* Margin Top (mt) */
.mt-0 { margin-top: 0px; }
.mt-5 { margin-top: 5px; }
.mt-10 { margin-top: 10px; }
.mt-15 { margin-top: 15px; }
.mt-20 { margin-top: 20px; }
.mt-30 { margin-top: 30px; }

/* Margin Bottom (mb) */
.mb-0 { margin-bottom: 0px; }
.mb-5 { margin-bottom: 5px; }
.mb-10 { margin-bottom: 10px; }
.mb-15 { margin-bottom: 15px; }
.mb-20 { margin-bottom: 20px; }
.mb-30 { margin-bottom: 30px; }

/* Margin Left (ml) */
.ml-0 { margin-left: 0px; }
.ml-5 { margin-left: 5px; }
.ml-10 { margin-left: 10px; }
.ml-15 { margin-left: 15px; }
.ml-20 { margin-left: 20px; }
.ml-30 { margin-left: 30px; }

/* Margin Right (mr) */
.mr-0 { margin-right: 0px; }
.mr-5 { margin-right: 5px; }
.mr-10 { margin-right: 10px; }
.mr-15 { margin-right: 15px; }
.mr-20 { margin-right: 20px; }
.mr-30 { margin-right: 30px; }

/* Margin All Sides (ma) */
.ma-0 { margin: 0px; }
.ma-5 { margin: 5px; }
.ma-10 { margin: 10px; }
.ma-15 { margin: 15px; }
.ma-20 { margin: 20px; }
.ma-30 { margin: 30px; }

/* Margin Top and Bottom (my) */
.my-0 { margin-top: 0px; margin-bottom: 0px; }
.my-5 { margin-top: 5px; margin-bottom: 5px; }
.my-10 { margin-top: 10px; margin-bottom: 10px; }
.my-15 { margin-top: 15px; margin-bottom: 15px; }
.my-20 { margin-top: 20px; margin-bottom: 20px; }
.my-30 { margin-top: 30px; margin-bottom: 30px; }

/* Margin Left and Right (mx) */
.mx-0 { margin-left: 0px; margin-right: 0px; }
.mx-5 { margin-left: 5px; margin-right: 5px; }
.mx-10 { margin-left: 10px; margin-right: 10px; }
.mx-15 { margin-left: 15px; margin-right: 15px; }
.mx-20 { margin-left: 20px; margin-right: 20px; }
.mx-30 { margin-left: 30px; margin-right: 30px; }

/* ===== Donations (solo lo justo para TU HTML) ===== */

/* Card padding (tu .pa-30 ya existe, pero por si quieres consistencia aquí) */
.card.news .card-body.pa-30{
  padding: 20px 22px;
}

/* Alert info del evento (tu CSS no define alert-info) */
.alert-info{
  color: #cfe9ff;
  background: rgba(46, 125, 201, .18);
  border: 1px solid rgba(120, 180, 255, .25);
  border-radius: 14px;
}

/* Tarjeta de cada pack PayPal */
.news-card{
  margin: 0 0 12px 0;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(167,131,111,.25);
  box-shadow: 0 10px 20px rgba(0,0,0,.25);
}

/* Fondo interior */
.news-card .news-body{
  background: rgba(0,0,0,.22);
  padding: 0;
}

/* Fila “precio + botón” */
.news-card .news-title.payment-opts{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;

  margin: 0;
  padding: 14px 16px;

  font-size: 14px;
  line-height: 1.2;
  text-transform: none;

  color: rgba(244,239,231,.92);
  background: linear-gradient(180deg, rgba(244,185,120,.10), rgba(0,0,0,.10));
}

/* Bloque de texto del precio */
.news-card .news-title.payment-opts > div{
  font-family: 'Trajan Pro Bold';
  letter-spacing: .3px;
  color: rgba(244,239,231,.92);
}

/* Form alineado y sin “cosas raras” */
.news-card form{
  margin: 0;
  display: flex;
  align-items: center;
}

/* Botón (mantiene tu estética dorado->rojo) */
.news-card .btn{
  margin: 0;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(244,185,120,1) 0%, rgba(198,67,13,1) 100%);
  color: #1a0a04;
  font-family: 'Trajan Pro Bold';
  letter-spacing: .6px;
  text-transform: uppercase;
  box-shadow: 0 12px 20px rgba(0,0,0,.28);
  transition: transform .15s ease, filter .2s ease;
}

.news-card .btn:hover{
  filter: brightness(1.06);
  transform: translateY(-1px);
}
.news-card .btn:active{
  transform: translateY(0);
}

/* Responsive: stack y botón full */
@media (max-width: 992px){
  .news-card .news-title.payment-opts{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .news-card form,
  .news-card .btn{
    width: 100%;
  }

  .news-card .btn{
    justify-content: center;
  }
}

/* ===== BOTÓN GLOBAL (registro + donaciones) ===== */
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin: 0 auto;
  padding: 10px 16px;

  border-radius: 14px;
  border: 1px solid rgba(167,131,111,.35);
  background: rgba(0,0,0,.32);

  color: rgba(244,239,231,.92);
  font-family: 'Trajan Pro Bold';
  letter-spacing: .6px;
  text-transform: uppercase;

  box-shadow: 0 10px 18px rgba(0,0,0,.28);
  cursor: pointer;

  transition: transform .15s ease, background .2s ease, box-shadow .2s ease, border-color .2s ease, filter .2s ease;
}

.btn:hover{
  background: rgba(244,185,120,.16);
  border-color: rgba(244,185,120,.45);
  box-shadow: 0 14px 24px rgba(0,0,0,.34), 0 0 16px rgba(244,185,120,.16);
  transform: translateY(-1px);
}

.btn:active{
  transform: translateY(0);
}

/* Neutraliza el azul de Bootstrap cuando usas btn-primary */
.btn.btn-primary{
  background: rgba(0,0,0,.32) !important;
  border-color: rgba(167,131,111,.35) !important;
  color: rgba(244,239,231,.92) !important;
}

/* Responsive común */
@media (max-width: 992px){
  .btn{ width: 100%; }
}

