/* Digital Rips app-inspired visual theme. Existing page functionality remains in place. */
:root { --dr-bg:#08070c; --dr-panel:#17141e; --dr-border:#373040; --dr-purple:#8b27ff; --dr-text:#faf8ff; --dr-muted:#bbb4c7; }
html { background:var(--dr-bg); }
body { background:radial-gradient(ellipse at 75% 0%, #27133b 0, #0e0b12 34%, #08070c 75%) fixed; color:var(--dr-text); font-family:Arial, sans-serif; line-height:1.55; }
a { color:#cfacff; } a:hover,a:focus { color:#ead8ff; }
.brand { color:#fff; text-shadow:0 3px 24px #8b27ff77; letter-spacing:.03em; }
.address-bar { color:var(--dr-muted); letter-spacing:.12em; }
.navbar-default,.navbar-inverse { background:#100d15; border:1px solid var(--dr-border); border-radius:0; box-shadow:0 12px 28px #0007; }
.navbar-default .navbar-brand,.navbar-default .navbar-nav>li>a,.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a { color:#f5f1fb; }
.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover { color:#d6b4ff; background:#ffffff0b; }
.navbar-default .navbar-toggle { border-color:#6b4b8c; } .navbar-default .navbar-toggle .icon-bar { background:#fff; }
.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus { background:#352046; }
.navbar-default .navbar-collapse { border-color:var(--dr-border); }
.box,.boxx { background:#7b7bde; color:var(--dr-text); border:1px solid var(--dr-border); border-radius:18px; box-shadow:0 15px 42px #0006; }
h1,h2,h3,h4,h5,h6,.intro-text,.section-title,.product-name { color:#fff; letter-spacing:.01em; }
.section-subtitle,.text-muted,.product-brand { color:var(--dr-muted); }
hr { border-color:#463b50; }
.product-card,.thumbnail,.panel,.well,.card { background:#1b1721; color:#f7f3fb; border:1px solid #39303f; border-radius:16px; box-shadow:0 8px 25px #0004; }
.thumbnail .caption,.panel-body { color:#f7f3fb; }
.form-control, input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=button]), select,textarea { background-color:#100e14; color:#fff; border:1px solid #51455f; border-radius:9px; box-shadow:none; }
.form-control:focus,input:focus,select:focus,textarea:focus { border-color:#ad6aff; box-shadow:0 0 0 3px #8b27ff33; outline:none; }
.form-control::placeholder,input::placeholder,textarea::placeholder { color:#aaa1b3; }
.btn,.btn-default,.btn-primary,.btn-success,.btn-info,input[type=submit],button[type=submit] { border-radius:10px; font-weight:700; transition:background .18s ease,border-color .18s ease; }
.btn-primary,.btn-success,.btn-hero-primary,input[type=submit],button[type=submit] { background:#7a16ed; border-color:#913cff; color:#fff; }
.btn-primary:hover,.btn-success:hover,.btn-hero-primary:hover,input[type=submit]:hover,button[type=submit]:hover { background:#982eff; border-color:#b66cff; color:#fff; }
.btn-default,.btn-hero-secondary { background:#211a2a; border-color:#554465; color:#fff; }
.btn-default:hover,.btn-hero-secondary:hover { background:#352342; border-color:#a56ce0; color:#fff; }
.table { color:#f7f4fa; } .table>thead>tr>th,.table>tbody>tr>td,.table>tbody>tr>th,.table-bordered { border-color:#463d4d; }
.table-striped>tbody>tr:nth-of-type(odd) { background:#ffffff08; } .table-hover>tbody>tr:hover { background:#ffffff12; }
.alert-info { background:#252031; color:#e8d9ff; border-color:#6c4b8d; } .alert-success { background:#123126; color:#c7f6db; border-color:#34694b; } .alert-danger { background:#351822; color:#ffd9e1; border-color:#8b3c4e; }
.modal-content { background:#1b1621; color:#fff; border:1px solid #574362; } .modal-header,.modal-footer { border-color:#463b50; } .close { color:#fff; opacity:.8; text-shadow:none; }
footer { background:#0e0b12; color:#cbc1d1; border-top:1px solid #33263c; }
.hero-wrapper { overflow:hidden; } .hero-title { color:#fff; } .hero-subtitle { color:#f0e9f8; }
.product-card { overflow:hidden; } .product-price { color:#c996ff; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #c998ff; outline-offset:2px; }
@media (max-width:767px) { .brand { font-size:30px; } .box,.boxx { border-radius:14px; } .navbar-default .navbar-nav>li>a { padding-top:10px; padding-bottom:10px; } }

/* The app's artwork sits above the existing carousel and leaves its controls intact. */
.dr-app-banner { width:100%; height:clamp(220px,36vw,420px); margin:20px 0 24px; border:1px solid #403448; border-radius:18px; background:#08070c url("../img/app-style/d_r_welcome_hero.png") center 30% / cover no-repeat; box-shadow:0 16px 40px #0008; }
.hero-overlay { background:linear-gradient(90deg,rgba(12,8,16,.92),rgba(26,12,42,.55),rgba(12,8,16,.82)); }
.btn-hero-primary { background:#7a16ed; }
.table tr[style*="color:black"],.table td[style*="color:#555"] { color:#f7f3fb !important; }
