Files
2026-06-06 00:27:55 -07:00

851 lines
20 KiB
CSS

/*
Theme Name: Sami Modern
Theme URI: https://sami-ahmed.net
Author: Sami Ahmed
Author URI: sami-ahmed.net
Description: Custom theme for Sami Ahmed - pure HTML/CSS, no page builder
Version: 2.2
Requires at least: 4.7
Tested up to: 6.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 2017-baby
*/
/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
line-height: 1.7;
color: #fff;
background: linear-gradient(180deg, #81A2B0, #0E8EBF);
min-height: 100vh;
-webkit-font-smoothing: antialiased;
}
.site-header, .site-footer,
.twentyseventeen-front-page .site-content { display: none !important; }
img { max-width: 100%; height: auto; display: block; }
a { color: #DAE400; text-decoration: none; transition: opacity 0.2s; }
a:hover { opacity: 0.85; }
.container { max-width: 960px; margin: 0 auto; padding: 0 32px; }
.two-col { display: flex; gap: 40px; flex-wrap: wrap; }
.two-col > .col { flex: 1; min-width: 280px; }
/* ===== SECTION BASE ===== */
section { padding: 80px 0; position: relative; overflow: hidden; }
.section-title {
font-size: 2rem;
font-weight: 700;
margin-bottom: 30px;
line-height: 1.3;
text-align: center;
}
.section-title.light { color: #DDDFE1; }
/* ===== MEMORIAL BANNER ===== */
.memorial-banner {
background: #000;
border-bottom: 1px solid #2a2a2a;
margin: 0;
padding: 0;
width: 100%;
}
.memorial-inner {
max-width: 960px;
margin: 0 auto;
padding: 18px 32px;
display: flex;
align-items: center;
justify-content: center;
gap: 30px;
}
.memorial-text-group {
text-align: center;
flex: 1;
}
.memorial-text {
color: #d4d4d4;
font-family: 'Georgia', 'Times New Roman', serif;
font-size: 15px;
letter-spacing: 0.5px;
display: block;
margin-bottom: 6px;
}
.memorial-name {
color: #f0f0f0;
font-family: 'Georgia', 'Times New Roman', serif;
font-size: 14px;
font-weight: 600;
}
.memorial-dash {
color: #555;
font-size: 14px;
margin: 0 8px;
}
.memorial-dates {
color: #999;
font-family: 'Georgia', 'Times New Roman', serif;
font-size: 13px;
letter-spacing: 0.3px;
}
.memorial-photo {
flex: 0 0 auto;
width: 80px;
height: 80px;
border-radius: 50%;
overflow: hidden;
border: 2px solid #333;
}
.memorial-photo img {
width: 100%;
height: 100%;
object-fit: cover;
}
/* ===== HERO (Section 0) ===== */
.hero-section {
background-color: #050A30;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 50px 24px;
position: relative;
}
.hero-bg-animation {
position: absolute;
inset: 0;
z-index: 0;
animation: heroGradient 5s infinite;
}
@keyframes heroGradient {
0% { background-color: #00a6d8; }
50% { background-color: #b800c9; }
100% { background-color: #e57600; }
}
.hero-content {
position: relative;
z-index: 1;
text-align: center;
max-width: 700px;
margin: 0 auto;
}
.hero-card-img {
max-width: 600px;
width: 100%;
border-radius: 12px;
box-shadow: 0 20px 60px rgba(0,0,0,0.4);
margin: 0 auto;
}
/* ===== SOCIAL (Section 1) ===== */
.social-section {
background: linear-gradient(180deg, #40829E, #2438BF);
}
.social-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
gap: 14px;
max-width: 820px;
margin: 0 auto;
}
.social-link {
display: flex;
align-items: center;
justify-content: center;
background: rgba(255,255,255,0.1);
border-radius: 12px;
padding: 14px;
color: #fff;
transition: background 0.2s, transform 0.15s;
cursor: pointer;
}
.social-link:hover {
background: rgba(255,255,255,0.2);
transform: translateY(-2px);
}
.social-link:hover {
background: rgba(255,255,255,0.2);
transform: translateY(-2px);
opacity: 1;
}
.social-logo {
font-size: 1.6rem;
flex-shrink: 0;
width: 28px;
text-align: center;
}
.social-logo-img {
width: 24px;
height: 24px;
object-fit: contain;
flex-shrink: 0;
filter: brightness(0) invert(1);
}
.social-info {
display: flex;
flex-direction: column;
min-width: 0;
}
/* ===== WRITINGS (Section 2) ===== */
.writings-section {
background: linear-gradient(180deg, #010202, #111474);
}
.writings-section .container { max-width: 900px; }
.post-card {
background: rgba(255,255,255,0.08);
border-radius: 10px;
padding: 20px;
margin-bottom: 16px;
}
.post-card h3 a { color: #fff; font-size: 1.1rem; }
.post-card time { color: rgba(255,255,255,0.5); font-size: 0.85rem; }
.video-wrapper {
position: relative;
padding-bottom: 56.25%;
margin-bottom: 20px;
border-radius: 10px;
overflow: hidden;
}
.video-wrapper iframe {
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
}
/* YouTube Thumbnails */
.yt-thumb-link {
display: block;
margin-bottom: 20px;
opacity: 1;
}
.yt-thumb-card {
position: relative;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 15px rgba(0,0,0,0.3);
transition: transform 0.2s, box-shadow 0.2s;
}
.yt-thumb-card:hover {
transform: translateY(-3px);
box-shadow: 0 8px 25px rgba(0,0,0,0.5);
}
.yt-thumb {
width: 100%;
display: block;
}
.yt-play-btn {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 60px;
height: 60px;
background: rgba(255, 0, 0, 0.85);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 24px;
line-height: 1;
padding-left: 4px;
transition: background 0.2s;
}
.yt-thumb-card:hover .yt-play-btn {
background: rgba(255, 0, 0, 1);
}
/* ===== SUPPORT / PAYMENTS (Section 3) ===== */
.support-section {
background: linear-gradient(180deg, #1E0F41, #A7239F);
padding-top: 10px;
position: relative;
}
.support-bg-animation {
position: absolute;
inset: 0;
animation: heroGradient 5s infinite;
opacity: 0.3;
}
.payment-grid {
display: flex;
flex-wrap: nowrap;
justify-content: center;
gap: 14px;
max-width: 960px;
margin: 0 auto;
position: relative;
z-index: 1;
}
.payment-card {
background: rgba(255,255,255,0.1);
border-radius: 12px;
padding: 16px 10px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 6px;
transition: transform 0.2s, background 0.2s;
text-align: center;
min-width: 0;
flex: 1;
max-width: 180px;
}
.pay-label {
font-size: 0.65rem;
color: rgba(255,255,255,0.7);
line-height: 1.3;
word-break: break-all;
}
.payment-card:hover {
transform: translateY(-4px);
background: rgba(255,255,255,0.18);
}
.payment-card img { max-height: 60px; }
/* ===== CRYPTO (Section 5) ===== */
.crypto-section {
background-color: #4054B2;
text-align: center;
position: relative;
}
.crypto-bg-animation {
position: absolute;
inset: 0;
animation: heroGradient 5s infinite;
opacity: 0.2;
}
.crypto-img {
max-width: 350px;
margin: 0 auto 30px;
border-radius: 12px;
position: relative;
z-index: 1;
}
.crypto-img-small {
max-width: 180px;
margin: 30px auto 0;
position: relative;
z-index: 1;
}
.crypto-text {
color: #DAE400EB;
max-width: 700px;
margin: 0 auto;
font-size: 1.05rem;
position: relative;
z-index: 1;
}
/* ===== CHURCH (Section 6) ===== */
.church-section {
background-color: #85187D;
}
.church-section .container { max-width: 1000px; }
.church-img { border-radius: 12px; margin: 0 auto 20px; }
.church-cover { border-radius: 12px; margin: 0 auto 24px; }
.church-text { max-width: 700px; margin: 0 auto; }
.church-text p { margin-bottom: 14px; }
.church-text ul { padding-left: 24px; margin-bottom: 14px; }
.church-text li { margin-bottom: 6px; }
.church-text h3 { color: #FFD54F; margin: 20px 0 8px; }
.church-action { text-align: center; margin-top: 30px; }
/* ===== BUTTONS ===== */
.btn {
display: inline-block;
background: linear-gradient(135deg, #667eea, #764ba2);
color: #fff;
padding: 14px 36px;
border-radius: 10px;
font-size: 1rem;
font-weight: 600;
border: none;
cursor: pointer;
transition: transform 0.15s, box-shadow 0.2s;
text-decoration: none;
}
.btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
opacity: 1;
}
.btn-large { padding: 18px 48px; font-size: 1.15rem; }
.btn-glow { animation: btnGlow 2s infinite; }
@keyframes btnGlow {
0%, 100% { box-shadow: 0 0 20px rgba(102, 126, 234, 0.4); }
50% { box-shadow: 0 0 40px rgba(118, 75, 162, 0.6); }
}
/* ===== CONTACT (Section 7) ===== */
.contact-section {
background: linear-gradient(180deg, #34844B, #021A24);
}
.contact-accent-box {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border-radius: 12px;
padding: 40px;
margin: 0 auto 30px;
max-width: 700px;
box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.contact-accent-box h2 { color: #fff; text-align: center; }
.contact-accent-box p { color: rgba(255,255,255,0.9); margin-top: 10px; }
.divider {
height: 2px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
margin: 40px auto;
max-width: 600px;
}
.contact-intro {
text-align: center;
font-size: 1.05rem;
margin-bottom: 30px;
line-height: 2;
}
.contact-form {
max-width: 550px;
margin: 0 auto;
}
.form-group { margin-bottom: 16px; }
.contact-form input,
.contact-form textarea {
width: 100%;
padding: 14px 18px;
background: rgba(255,255,255,0.1);
border: 1px solid rgba(255,255,255,0.2);
border-radius: 10px;
color: #fff;
font-size: 1rem;
font-family: inherit;
outline: none;
transition: border-color 0.2s;
}
.contact-form input:focus,
.contact-form textarea:focus { border-color: #667eea; }
.contact-form input::placeholder,
.contact-form textarea::placeholder { color: rgba(255,255,255,0.5); }
.hp-field { position: absolute; left: -9999px; opacity: 0; height: 0; overflow: hidden; }
.form-status { text-align: center; margin-top: 16px; font-size: 0.95rem; }
/* ===== ABOUT (Sections 8 & 9) ===== */
.about-section {
background: linear-gradient(180deg, #1B6C8F, #1FAAE6);
padding-bottom: 20px;
text-align: center;
}
.about-content-section {
background: linear-gradient(180deg, #25A3E1, #178DBF);
padding-top: 20px;
}
.about-content-section .container { max-width: 700px; }
.about-content-section p { margin-bottom: 18px; font-size: 1.05rem; }
/* ===== MAIL (Section 10) ===== */
.mail-section {
background: linear-gradient(180deg, #34498B, #243870);
text-align: center;
}
.address-block {
background: rgba(255,255,255,0.08);
display: inline-block;
padding: 30px 50px;
border-radius: 12px;
margin: 20px 0 30px;
text-align: center;
font-size: 1.1rem;
line-height: 2;
}
.warning-box {
background: rgba(255, 100, 100, 0.15);
border: 1px solid rgba(255, 100, 100, 0.3);
border-radius: 12px;
padding: 20px 30px;
max-width: 650px;
margin: 20px auto 0;
text-align: left;
}
/* ===== IMPORTANT PAGES ===== */
.important-pages-section {
background: #1a1a2e;
padding: 50px 20px;
text-align: center;
}
.important-pages-section h2 { color: #ECF3F6; margin-bottom: 20px; }
.important-pages-nav {
display: flex;
flex-direction: column;
gap: 10px;
align-items: center;
}
.important-pages-nav a {
color: #7eb8ff;
text-decoration: none;
font-size: 1.1em;
padding: 8px 20px;
}
.important-pages-nav a:hover { color: #fff; }
/* ===== COPYRIGHT ===== */
.copyright-section {
background: #111;
padding: 30px;
text-align: center;
}
.copyright-logo { max-width: 400px; width: 100%; margin: 0 auto; }
/* ===== SITE FOOTER ===== */
.site-footer-custom {
background: #0a0a2e;
text-align: center;
padding: 30px 0;
color: rgba(255,255,255,0.5);
font-size: 0.9rem;
}
/* ===== BEEP FEED ===== */
.beep-section {
background: linear-gradient(180deg, #1a1a3e, #2d1b4e);
}
.beep-feed-wrapper {
max-width: 700px;
margin: 0 auto;
}
/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
.two-col { flex-direction: column; gap: 30px; }
.section-title { font-size: 1.5rem; }
section { padding: 50px 0; }
.hero-section { min-height: 80vh; padding: 30px 16px; }
.social-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.payment-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
.address-block { padding: 20px 24px; }
.contact-accent-box { padding: 24px; }
.memorial-inner { flex-direction: column; padding: 12px 16px; gap: 12px; }
.memorial-photo { width: 60px; height: 60px; }
.container { padding: 0 20px; }
}
/* ===== BEEP BRAND HEADER ===== */
.beep-brand-header {
text-align: center;
padding: 20px 0 10px;
}
.beep-wordmark {
height: 36px;
width: auto;
filter: brightness(0) invert(1);
opacity: 0.95;
margin-bottom: 6px;
}
.beep-tagline {
color: rgba(255,255,255,0.45);
font-size: 0.85rem;
font-weight: 400;
letter-spacing: 0.5px;
margin: 0;
}
/* ===== BEEP COMPOSE BOX OVERRIDES (Twitter-style, white) ===== */
.beep-section .beep-compose {
background: #ffffff !important;
border: 1px solid #e1e8ed !important;
border-radius: 16px !important;
padding: 12px 16px !important;
margin-bottom: 12px !important;
}
.beep-section .beep-compose textarea {
background: #ffffff !important;
border: none !important;
color: #0f1419 !important;
font-size: 18px !important;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
resize: none !important;
min-height: 60px !important;
padding: 8px 0 !important;
width: 100% !important;
outline: none !important;
line-height: 1.5 !important;
}
.beep-section .beep-compose textarea::placeholder {
color: #536471 !important;
}
.beep-section .beep-compose-actions {
display: flex !important;
justify-content: space-between !important;
align-items: center !important;
border-top: 1px solid #eff3f4 !important;
padding-top: 10px !important;
margin-top: 8px !important;
}
.beep-section .beep-compose-actions button {
background: #1D9BF0 !important;
color: #fff !important;
border: none !important;
border-radius: 9999px !important;
padding: 8px 20px !important;
font-weight: 700 !important;
font-size: 15px !important;
cursor: pointer !important;
transition: background 0.15s !important;
}
.beep-section .beep-compose-actions button:hover {
background: #1A8CD8 !important;
}
.beep-section .beep-compose-actions button:disabled {
background: #1D9BF0 !important;
opacity: 0.5 !important;
}
/* Media/action icons in compose */
.beep-section .beep-compose .beep-media-btn {
color: #1D9BF0 !important;
}
/* ===== AI SERVICES BOX ===== */
.ai-services-box {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border-radius: 12px;
padding: 40px;
margin: 40px auto;
color: white;
box-shadow: 0 10px 30px rgba(0,0,0,0.2);
max-width: 700px;
}
.ai-services-box h2 {
font-size: 2em;
margin-bottom: 20px;
display: flex;
align-items: center;
gap: 12px;
flex-wrap: wrap;
}
.ai-services-box p {
font-size: 1.1em;
line-height: 1.6;
margin-bottom: 25px;
opacity: 0.95;
}
.ai-offers {
background: rgba(255,255,255,0.12);
border-left: 4px solid rgba(255,255,255,0.6);
padding: 20px;
margin: 25px 0;
border-radius: 8px;
}
.ai-offers h3 {
margin-bottom: 15px;
font-size: 1.3em;
}
.ai-offers ul {
list-style: none;
padding: 0;
margin: 0;
}
.ai-offers ul li {
margin-bottom: 10px;
padding-left: 28px;
position: relative;
font-size: 1.05em;
}
.ai-offers ul li::before {
content: "";
position: absolute;
left: 0;
top: 3px;
width: 18px;
height: 18px;
background: rgba(255,255,255,0.85);
border-radius: 4px;
display: flex;
align-items: center;
justify-content: center;
}
.ai-offers ul li::after {
content: "✓";
position: absolute;
left: 3px;
top: 3px;
font-size: 0.75em;
color: #667eea;
font-weight: bold;
}
.ai-services-box .ai-cta {
text-align: center;
margin-top: 35px;
}
.ai-services-box .ai-cta a {
display: inline-block;
background: white;
color: #667eea;
padding: 16px 40px;
border-radius: 50px;
text-decoration: none;
font-weight: bold;
font-size: 1.1em;
box-shadow: 0 5px 15px rgba(0,0,0,0.3);
transition: transform 0.2s, box-shadow 0.2s;
}
.ai-services-box .ai-cta a:hover {
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(0,0,0,0.4);
}
/* ===== SOCIAL ICON (EMOJI) ===== */
.social-icon {
font-size: 1.5rem;
display: inline-block;
width: 40px;
height: 40px;
line-height: 40px;
text-align: center;
border-radius: 50%;
background: rgba(255,255,255,0.1);
margin-right: 12px;
flex-shrink: 0;
}
/* Memorial inner for original layout (no text-group) */
.memorial-inner {
display: flex;
align-items: center;
justify-content: center;
gap: 20px;
max-width: 960px;
margin: 0 auto;
padding: 12px 20px;
}
.memorial-inner .memorial-text {
font-family: Georgia, 'Times New Roman', serif;
font-size: 0.95rem;
color: rgba(255,255,255,0.85);
letter-spacing: 0.5px;
}
.memorial-inner .memorial-name {
font-weight: 700;
font-size: 1.05rem;
display: block;
margin-top: 4px;
}
.memorial-inner .memorial-dates {
font-size: 0.8rem;
color: rgba(255,255,255,0.55);
display: block;
margin-top: 2px;
}
/* ===== SOCIAL INFO WITH HANDLE ===== */
.social-info {
display: flex;
flex-direction: column;
align-items: flex-start;
}
/* ===== PAYMENT CARD WITH NAME/HANDLE ===== */
.payment-card {
display: flex !important;
flex-direction: column;
align-items: center;
text-decoration: none;
gap: 6px;
}
.payment-logo {
font-size: 2rem;
}
.payment-name {
font-size: 0.8rem;
color: rgba(255,255,255,0.85);
font-weight: 600;
}
.payment-handle {
font-size: 0.65rem;
color: rgba(255,255,255,0.45);
}
/* hotfix: icon + platform name labels */
.social-link {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 8px;
}
.social-name {
display: block;
color: #ccc;
font-size: 13px;
font-weight: 500;
text-align: center;
line-height: 1.2;
}
.social-svg {
width: 32px;
height: 32px;
object-fit: contain;
}
/* Beep heading size bump */
.beep-section-full .beep-feed-header,
.beep-section .beep-feed-header {
text-align: center !important;
}
.beep-section-full .beep-feed-header > div,
.beep-section .beep-feed-header > div {
display: flex !important;
align-items: center !important;
justify-content: center !important;
text-align: center !important;
width: 100% !important;
margin: 0 auto !important;
gap: 12px !important;
padding: 8px 0 10px !important;
}
.beep-section-full .beep-feed-header strong,
.beep-section .beep-feed-header strong {
display: inline-block !important;
font-size: 1.55rem !important;
line-height: 1.1 !important;
font-weight: 800 !important;
letter-spacing: -0.02em !important;
text-align: center !important;
}
.beep-section-full .beep-feed-header img,
.beep-section .beep-feed-header img {
display: inline-block !important;
height: 34px !important;
width: auto !important;
vertical-align: middle !important;
}
@media (max-width: 768px) {
.beep-section-full .beep-feed-header strong,
.beep-section .beep-feed-header strong {
font-size: 1.25rem !important;
}
.beep-section-full .beep-feed-header img,
.beep-section .beep-feed-header img {
height: 28px !important;
}
}