:root {
   --bg-top: #0d0d12;
   --bg-bottom: #050507;
   --card: #131318;
   --card-border: #232329;
   --tile: #1b1b21;
   --tile-border: #28282f;
   --gold-1: #f3cf7c;
   --gold-2: #c99a3e;
   --gold-3: #8a6a22;
   --text-main: #f4f1ea;
   --text-dim: #8b8b93;
   --text-faint: #5f5f68;
   --primary: #f3cf7c;
}

html {
   scroll-behavior: smooth;
   height: auto !important;
   overflow-x: hidden !important;
   overflow-y: auto !important;
}

body {
   height: auto !important;
   min-height: 100vh !important;
   display: flex !important;
   justify-content: center !important;
   align-items: flex-start !important;
   background: #000000 !important;
   font-family: 'Inter', sans-serif !important;
   padding: 5px 8px 70px 8px !important;
   color: var(--text-main) !important;
   overflow-x: hidden !important;
   overflow-y: auto !important;
}

.theme14-wrapper {
   width: 100%;
   max-width: 420px;
   margin: 0 auto;
   position: relative;
}

.card {
   position: relative;
   width: 100%;
   background: var(--card);
   border: 1px solid var(--card-border);
   border-radius: 28px;
   overflow: hidden;
   box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.7);
   display: flex;
   flex-direction: column;
   color: var(--text-main);
   margin-bottom: 16px;
}

.card.has-bg-img {
   background-color: var(--card);
   background-image: linear-gradient(
         180deg,
         rgba(16, 16, 22, 0.68) 0%,
         rgba(12, 12, 16, 0.78) 45%,
         rgba(10, 10, 14, 0.9) 100%
      ),
      var(--card-bg-image);
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   /* border: 1px solid rgba(243, 207, 124, 0.28); */
   box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.85), 0 0 20px rgba(243, 207, 124, 0.1);
}

.card-scroll {
   width: 100%;
}

/* faint dotted texture, right side */
.card-texture::before {
   content: '';
   position: absolute;
   top: 0;
   right: 0;
   width: 100%;
   height: 300px;
   background-image: radial-gradient(circle, color-mix(in srgb, var(--gold-1) 50%, transparent) 1px, transparent 1.4px);
   background-size: 14px 14px;
   -webkit-mask-image: linear-gradient(to bottom left, black, transparent 70%);
   mask-image: linear-gradient(to bottom left, black, transparent 70%);
   pointer-events: none;
}

/* ---------- top bar ---------- */
.topbar {
   display: flex;
   align-items: start;
   justify-content: space-between;
   padding: 12px 10px 0 10px;
   position: relative;
   z-index: 1;
}

.brand {
   display: flex;
   align-items: center;
   gap: 8px;
}

.brand-logo {
   max-height: 80px;
   max-width: 150px;
   object-fit: contain;
   display: block;
}

.brand-mark {
   width: 28px;
   height: 28px;
   object-fit: contain;
   flex-shrink: 0;
}

.save-pill {
   display: flex;
   align-items: center;
   gap: 5px;
   padding: 6px 8px;
   border-radius: 999px;
   border: 1px solid var(--gold-1);
   background: rgb(19 19 24);
   color: var(--gold-1);
   font-size: 10px;
   font-weight: 500;
   cursor: pointer;
   text-decoration: none;
   transition: background 0.2s ease;
}
.save-pill:hover {
   background: rgba(243, 207, 124, 0.14);
   color: var(--gold-1);
}
.save-pill svg {
   width: 12px;
   height: 12px;
}

/* ---------- profile ---------- */
.profile {
   display: flex;
   flex-direction: column;
   align-items: center;
   padding: 26px 20px 18px 20px;
   position: relative;
   z-index: 1;
}

.avatar-ring {
   width: 112px;
   height: 112px;
   border-radius: 50%;
   padding: 3px;
   background: conic-gradient(from 200deg, var(--gold-1), var(--gold-1), var(--gold-1));
   position: relative;
   margin-bottom: 16px;
}

.avatar-ring img {
   width: 100%;
   height: 100%;
   border-radius: 50%;
   object-fit: cover;
   display: block;
   border: 3px solid var(--card);
}

.verified {
   position: absolute;
   bottom: 4px;
   right: 7px;
   width: 24px;
   height: 24px;
   display: flex;
   align-items: center;
   justify-content: center;
   z-index: 2;
}
.verified svg {
   width: 24px;
   height: 24px;
   display: block;
}

.name {
   font-family: 'Poppins', sans-serif;
   font-size: 21px;
   font-weight: 600;
   color: var(--text-main);
   text-align: center;
}
.name em {
   font-style: normal;
   color: var(--gold-1);
}

.role {
   font-size: 12.5px;
   /* color: var(--text-dim); */
   color: var(--text-main);
   margin-top: 4px;
   letter-spacing: 0.3px;
   text-align: center;
}

.org-name-text {
   font-size: 12px;
   color: var(--gold-1);
   margin-top: 2px;
   text-align: center;
   font-weight: 500;
}

.social-actions {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-items: flex-start;
   gap: 12px 8px;
   position: relative;
   z-index: 1;
   margin: 0 auto;
}

.social-actions .social-tile {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 6px;
   /* width: 62px; */
   border-radius: 10px;
   text-decoration: none;
   cursor: pointer;
   transition: transform 0.15s ease, border-color 0.15s ease;
   box-shadow: 0 4px 10px rgba(0, 0, 0, 0.8), 0 0 1px color-mix(in srgb, var(--gold-1) 25%, transparent);
   color: var(--text-main);
   text-align: center;
}
.social-actions .social-tile:hover {
   border-color: var(--gold-1);
   transform: translateY(-2px);
   color: var(--text-main);
}

.social-actions .social-tile .icon {
   width: 45px;
   height: 45px;
   border-radius: 10px;
   display: flex;
   align-items: center;
   justify-content: center;
   background: color-mix(in srgb, var(--gold-1) 25%, transparent);
   margin: 0 auto;
}
.social-actions .social-tile .icon svg {
   width: 25px;
   height: 25px;
   stroke: var(--gold-1);
}
.social-actions .social-tile .icon i,
.social-actions .social-tile .icon .fa,
.social-actions .social-tile .icon .fa-solid,
.social-actions .social-tile .icon .far,
.social-actions .social-tile .icon .fas,
.social-actions .social-tile .icon .fab {
   font-size: 16px;
   color: var(--gold-1) !important;
   display: flex;
   align-items: center;
   justify-content: center;
}
.social-actions .social-tile .icon img {
   width: 30px;
   height: 30px;
   object-fit: contain;
}

.social-actions .social-tile span {
   font-size: 10.5px;
   color: var(--text-main) !important;
   font-weight: 500;
   text-align: center;
   width: 100%;
   word-break: break-word;
}

/* ---------- action grid ---------- */
.actions {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 10px;
   padding: 4px 15px 22px 15px;
   position: relative;
   z-index: 1;
}

.tile {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 8px;
   padding: 14px 6px;
   background: var(--tile);
   border: 1px solid color-mix(in srgb, var(--gold-1) 90%, transparent);
   border-radius: 16px;
   text-decoration: none;
   box-shadow: 0 4px 10px rgba(0, 0, 0, 0.8), 0 0 1px color-mix(in srgb, var(--gold-1) 25%, transparent);
   cursor: pointer;
   transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
   color: var(--text-main);
}
.tile:hover {
   border-color: var(--gold-1);
   transform: translateY(-2px);
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.95), 0 0 8px color-mix(in srgb, var(--gold-1) 35%, transparent);
   color: var(--text-main);
}

.tile .icon {
   width: 50px;
   height: 50px;
   border-radius: 10px;
   display: flex;
   align-items: center;
   justify-content: center;
   background: rgba(243, 207, 124, 0.08);
}
.tile .icon svg {
   width: 16px;
   height: 16px;
   stroke: var(--gold-1);
}
.tile .icon i,
.tile .icon .fa,
.tile .icon .fa-solid,
.tile .icon .far,
.tile .icon .fas,
.tile .icon .fab {
   font-size: 16px;
   color: var(--gold-1) !important;
   display: flex;
   align-items: center;
   justify-content: center;
}
.tile .icon img {
   width: 40px;
   height: 40px;
   object-fit: contain;
}

.tile span {
   font-size: 10.5px;
   color: var(--text-main) !important;
   font-weight: 500;
   text-align: center;
}

/* ---------- cta buttons ---------- */
.cta-group {
   padding: 0 15px 22px 15px;
   display: flex;
   /* flex-direction: column; */
   gap: 10px;
   position: relative;
   z-index: 1;
}

.btn-gold-primary {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   width: 100%;
   padding: 10px;
   border-radius: 14px;
   font-family: 'Inter', sans-serif;
   font-size: 11px;
   font-weight: 600;
   cursor: pointer;
   border: none;
   background: linear-gradient(135deg, var(--gold-1));
   color: #1a1305;
   text-decoration: none;
}
.btn-gold-primary:hover {
   color: #1a1305;
   opacity: 0.95;
}

.btn-gold-secondary {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   width: 100%;
   padding: 10px;
   border-radius: 14px;
   font-family: 'Inter', sans-serif;
   font-size: 11px;
   font-weight: 600;
   cursor: pointer;
   border: 1px solid var(--gold-1);
   background: transparent;
   color: var(--gold-1);
   text-decoration: none;
}
.btn-gold-secondary:hover {
   border-color: var(--gold-1);
   color: var(--gold-1);
}

.btn-gold-primary svg,
.btn-gold-secondary svg {
   width: 15px;
   height: 15px;
}
.btn-gold-primary i,
.btn-gold-primary .fa {
   color: #1a1305 !important;
   font-size: 14px;
}
.btn-gold-secondary i,
.btn-gold-secondary .fa {
   color: var(--text-main) !important;
   font-size: 14px;
}
.btn-gold-secondary:hover i,
.btn-gold-secondary:hover .fa {
   color: var(--gold-1) !important;
}

/* ---------- bottom nav ---------- */
.navbar-theme14 {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 10px 14px;
   border: 1px solid var(--card-border);
   background: rgba(19, 19, 24, 0.756);
   backdrop-filter: blur(12px);
   -webkit-backdrop-filter: blur(12px);
   position: fixed;
   bottom: 12px;
   left: 50%;
   transform: translateX(-50%);
   width: calc(100% - 20px);
   max-width: 420px;
   z-index: 999;
   border-radius: 20px;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8);
}

.nav-item-t14 {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 5px;
   color: var(--text-faint);
   text-decoration: none;
   flex: 1;
}

.nav-item-t14 svg {
   width: 17px;
   height: 17px;
   stroke: var(--text-main);
}

.nav-item-t14 span {
   font-size: 9.5px;
   font-weight: 500;
}

.nav-item-t14.active,
.nav-item-t14:hover {
   color: var(--gold-1);
}
.nav-item-t14.active svg,
.nav-item-t14:hover svg {
   stroke: var(--gold-1);
}

/* Section titles inside dark cards */
.card-title-t14 {
   font-family: 'Poppins', sans-serif;
   font-size: 16px;
   font-weight: 600;
   color: var(--gold-1) !important;
   margin-bottom: 16px;
   display: flex;
   align-items: center;
   gap: 8px;
}
.card-title-t14 i,
.card-title-t14 svg {
   color: var(--gold-1) !important;
}

/* Explicitly set all section body text to white (#ffffff) without changing section titles */
.theme14-wrapper p,
.theme14-wrapper span:not(.badge),
.theme14-wrapper li,
.theme14-wrapper td,
.theme14-wrapper th,
.theme14-wrapper label,
.about-text-t14,
.about-text-t14 *,
.about-text,
.about-text * {
   color: var(--text-main);
}

.about-text-t14 {
   font-size: 13.5px;
   line-height: 1.6;
}

.product-box-t14 h4,
.product-box-t14 h5,
.product-box-t14 .truncate-text {
   color: var(--text-main) !important;
}

.product-grid-t14 {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 10px;
}

.product-box-t14 {
   background: var(--tile);
   border: 1px solid var(--tile-border);
   border-radius: 16px;
   padding: 10px;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   transition: border-color 0.2s;
   box-shadow: 0 4px 14px rgba(0, 0, 0, 0.8), 0 0 1px color-mix(in srgb, var(--gold-1) 25%, transparent);
}
.product-box-t14:hover {
   border-color: var(--gold-1);
}

.product-img-t14 {
   border-radius: 12px;
   width: 100%;
   height: 120px;
   object-fit: contain;
}

.gallery-grid-t14 {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 10px;
}

.gallery-item-t14 img {
   width: 100%;
   height: 120px;
   object-fit: cover;
   border-radius: 12px;
   border: 1px solid var(--tile-border);
   box-shadow: 0 4px 14px rgba(0, 0, 0, 0.8), 0 0 1px color-mix(in srgb, var(--gold-1) 25%, transparent);
}

/* Form controls in theme 14 */
.form-control-t14 {
   background: var(--tile) !important;
   border: 1px solid var(--tile-border) !important;
   color: var(--text-main) !important;
   border-radius: 12px !important;
   padding: 10px 14px !important;
}
.form-control-t14:focus {
   border-color: var(--gold-1) !important;
   box-shadow: none !important;
}

/* Modals */
.modals {
   display: none;
   position: fixed;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   z-index: 1000;
   max-width: 90vw;
   width: 400px;
   background: var(--card);
   border: 1px solid var(--card-border);
   border-radius: 20px;
   padding: 20px;
   box-shadow: 0 20px 40px rgba(0, 0, 0, 0.8);
   color: var(--text-main);
}
.overlay {
   display: none;
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background: rgba(0, 0, 0, 0.75);
   z-index: 999;
}

@media (prefers-reduced-motion: reduce) {
   .tile {
      transition: none;
   }
}

/* Fix Modal Close Button distortion from main.css */
.modal-header .btn-close {
   position: relative !important;
   top: auto !important;
   right: auto !important;
   width: 30px !important;
   height: 30px !important;
   padding: 0 !important;
   margin: 0 !important;
   background-color: rgba(255, 255, 255, 0.15) !important;
   border-radius: 50% !important;
   background-size: 12px !important;
   opacity: 0.85 !important;
   transition: opacity 0.2s, background-color 0.2s !important;
   box-shadow: none !important;
}

.modal-header .btn-close:hover {
   opacity: 1 !important;
   background-color: rgba(255, 255, 255, 0.3) !important;
}
