361 lines
8.8 KiB
SCSS
361 lines
8.8 KiB
SCSS
//
|
|
// Platz für eigene Style Angaben in SCSS-Notation
|
|
//
|
|
// Alle Änderungen hier müssen anschließend mit einem SCSS-Compiler
|
|
// (z.B. dem JTL-Theme-Editor Plugin) nach my-nova.css kompiliert werden
|
|
// --------------------------------------------------
|
|
|
|
// Lädt Core-Funktionen
|
|
@import '../../../../NOVA/themes/base/sass/functions';
|
|
|
|
// Lädt "my-nova"-Variablen. Hier können Variablen aus Bootstrap und dem NOVA-Theme überschrieben werden.
|
|
@import "variables";
|
|
|
|
// Lädt Style Angaben des Themes, hier "clear".
|
|
@import '../../../../NOVA/themes/clear/sass/allstyles';
|
|
// Für die anderen Themes müssen neben der "allstyles" des Themes auch die jeweiligen Regeln aus der "theme.scss"
|
|
// (z.B. für blackline aus der blackline.scss) übernommen werden.
|
|
// @import '../../../../NOVA/themes/blackline/sass/allstyles';
|
|
// @import '../../../../NOVA/themes/midnight/sass/allstyles';
|
|
|
|
// my-nova Theme
|
|
// Hier können alle Style-Angaben notiert werden, die nur Auswirkungen auf dieses Theme haben
|
|
// ------------------- Beginn eigenes CSS ----------------------------
|
|
|
|
// --- Globale Anpassungen ---
|
|
body {
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
}
|
|
|
|
// --- Header & Navigation (Modern & Glassmorphism) ---
|
|
header {
|
|
background-image: url('https://stoffhaus-hanke.de/media/image/storage/opc/header/headerfinal.png');
|
|
background-size: cover;
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
position: relative;
|
|
|
|
// Ein sanftes Overlay, damit der Header-Text besser lesbar ist, falls das Bild unruhig ist
|
|
&::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0; left: 0; right: 0; bottom: 0;
|
|
background: linear-gradient(to bottom, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0.4) 100%);
|
|
z-index: 0;
|
|
}
|
|
|
|
> * {
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
}
|
|
|
|
// Sticky Header Verfeinerung (falls im Backend aktiviert)
|
|
#header-wrapper.is-sticky {
|
|
background-color: rgba(255, 255, 255, 0.95) !important;
|
|
backdrop-filter: blur(10px);
|
|
box-shadow: $box-shadow-sm;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
#header-top-bar {
|
|
background-color: $footer-bg-color;
|
|
color: $white;
|
|
padding: 8px 0;
|
|
|
|
.ara-topinfo {
|
|
font-weight: 500;
|
|
margin: 0;
|
|
padding: 0;
|
|
list-style: none;
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: 20px;
|
|
|
|
li {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
color: $white;
|
|
}
|
|
|
|
a {
|
|
color: $white;
|
|
text-decoration: none;
|
|
transition: $transition-base;
|
|
&:hover { color: $secondary; }
|
|
}
|
|
|
|
i { margin-right: 6px; }
|
|
}
|
|
}
|
|
|
|
#shop-logo {
|
|
border-radius: $border-radius-lg;
|
|
background-color: rgba(255, 255, 255, 0.9);
|
|
backdrop-filter: blur(10px); // Glassmorphism Effekt
|
|
padding: 10px;
|
|
box-shadow: $box-shadow-sm;
|
|
transition: $transition-base;
|
|
|
|
&:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: $box-shadow;
|
|
}
|
|
}
|
|
|
|
header .nav-link {
|
|
background-color: rgba(255, 255, 255, 0.85);
|
|
backdrop-filter: blur(8px);
|
|
color: $header-color;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
border-radius: 30px; // Pillen-Form für moderne Navigation
|
|
padding: 8px 16px !important;
|
|
margin: 0 4px;
|
|
transition: $transition-base;
|
|
box-shadow: 0 2px 8px rgba(0,0,0,0.03);
|
|
|
|
&:hover, &.active {
|
|
background-color: $white;
|
|
color: $primary;
|
|
transform: translateY(-2px);
|
|
box-shadow: $box-shadow-sm;
|
|
}
|
|
}
|
|
|
|
// Mega-Menu (Dropdowns) Animation & Styling
|
|
.dropdown-menu {
|
|
border: none;
|
|
border-radius: $border-radius;
|
|
box-shadow: $box-shadow;
|
|
padding: 20px;
|
|
animation: fade-in-up 0.3s ease;
|
|
}
|
|
|
|
@keyframes fade-in-up {
|
|
from { opacity: 0; transform: translateY(10px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
|
|
.secure-checkout-topbar {
|
|
border-radius: $border-radius-lg;
|
|
background-color: rgba(255, 255, 255, 0.9);
|
|
backdrop-filter: blur(10px);
|
|
box-shadow: $box-shadow-sm;
|
|
}
|
|
|
|
// --- Suchleiste (Prominent & Einladend) ---
|
|
#search-form {
|
|
.form-control {
|
|
border-radius: 30px 0 0 30px;
|
|
border: 1px solid #e0e0e0;
|
|
padding: 10px 20px;
|
|
background-color: #f9f8f6;
|
|
transition: all 0.3s ease;
|
|
&:focus {
|
|
background-color: #ffffff;
|
|
border-color: $secondary;
|
|
box-shadow: 0 0 0 3px rgba($secondary, 0.2);
|
|
}
|
|
}
|
|
.btn-search {
|
|
border-radius: 0 30px 30px 0;
|
|
background: $primary;
|
|
color: $white;
|
|
border: 1px solid $primary;
|
|
transition: $transition-base;
|
|
&:hover {
|
|
background: darken($primary, 8%);
|
|
border-color: darken($primary, 8%);
|
|
}
|
|
}
|
|
}
|
|
|
|
// --- Buttons ---
|
|
.btn {
|
|
font-weight: 500;
|
|
letter-spacing: 0.3px;
|
|
border-radius: 30px; // Moderne abgerundete Buttons
|
|
transition: $transition-base;
|
|
|
|
&.btn-primary,
|
|
#article_buyfield .choose_quantity .submit,
|
|
button[name="inWarenkorb"] {
|
|
background-color: $primary !important;
|
|
border-color: $primary !important;
|
|
color: $white !important;
|
|
box-shadow: 0 4px 12px rgba($primary, 0.3);
|
|
|
|
&:hover {
|
|
background-color: darken($primary, 8%) !important;
|
|
border-color: darken($primary, 8%) !important;
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 6px 16px rgba($primary, 0.4);
|
|
}
|
|
}
|
|
}
|
|
|
|
// --- Produktboxen (Modernes Card-Design mit Fokus auf Texturen) ---
|
|
.productbox {
|
|
border: none;
|
|
border-radius: $border-radius-lg;
|
|
background: $white;
|
|
box-shadow: $box-shadow-sm;
|
|
transition: $transition-base;
|
|
overflow: hidden;
|
|
margin-bottom: 30px;
|
|
|
|
// Image Zoom Effekt für Stoffe
|
|
.productbox-image {
|
|
overflow: hidden;
|
|
border-radius: $border-radius-lg $border-radius-lg 0 0;
|
|
img {
|
|
transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
}
|
|
|
|
&:hover {
|
|
transform: translateY(-5px);
|
|
box-shadow: $box-shadow;
|
|
|
|
.productbox-image img {
|
|
transform: scale(1.08); // Sanfter Zoom auf die Stoffstruktur
|
|
}
|
|
}
|
|
|
|
.productbox-title {
|
|
font-family: $headings-font-family;
|
|
font-weight: 600;
|
|
font-size: 1.1rem;
|
|
margin-top: 15px;
|
|
}
|
|
|
|
.price {
|
|
font-weight: 600;
|
|
color: $primary;
|
|
font-size: 1.2rem;
|
|
}
|
|
|
|
// Elegante Ribbons (Sale, Neu)
|
|
.ribbon {
|
|
border-radius: 20px;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
letter-spacing: 1px;
|
|
font-size: 0.75rem;
|
|
padding: 4px 12px;
|
|
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
|
|
&.ribbon-sale { background-color: #e74c3c; color: white; }
|
|
&.ribbon-new { background-color: $secondary; color: white; }
|
|
}
|
|
}
|
|
|
|
// --- Artikeldetailseite (PDP - Product Detail Page) ---
|
|
.product-detail {
|
|
// Kaufbox (Sticky auf Desktop für bessere Conversion)
|
|
@media (min-width: 992px) {
|
|
#buy-form {
|
|
position: sticky;
|
|
top: 120px; // Abstand zum (sticky) Header
|
|
padding: 25px;
|
|
background: #ffffff;
|
|
border-radius: $border-radius-lg;
|
|
box-shadow: $box-shadow-sm;
|
|
border: 1px solid rgba(0,0,0,0.03);
|
|
}
|
|
}
|
|
|
|
// Großer, auffälliger Warenkorb-Button
|
|
#add-to-cart button {
|
|
width: 100%;
|
|
padding: 15px;
|
|
font-size: 1.1rem;
|
|
text-transform: uppercase;
|
|
letter-spacing: 1px;
|
|
}
|
|
|
|
// Preis-Darstellung
|
|
.price_wrapper {
|
|
.price {
|
|
font-size: 2.2rem;
|
|
font-weight: 700;
|
|
color: $primary;
|
|
}
|
|
}
|
|
}
|
|
|
|
// --- Footer ---
|
|
#footer {
|
|
background-color: $footer-bg-color;
|
|
color: $footer-color;
|
|
padding-top: 60px;
|
|
|
|
.form-control {
|
|
background-color: rgba(255, 255, 255, 0.1);
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
color: $white;
|
|
border-radius: 30px;
|
|
|
|
&::placeholder {
|
|
color: rgba(255, 255, 255, 0.6);
|
|
}
|
|
|
|
&:focus {
|
|
background-color: rgba(255, 255, 255, 0.15);
|
|
border-color: $secondary;
|
|
box-shadow: 0 0 0 0.2rem rgba($secondary, 0.25);
|
|
}
|
|
}
|
|
|
|
.label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox) {
|
|
label {
|
|
background: transparent;
|
|
color: rgba(255, 255, 255, 0.8);
|
|
}
|
|
}
|
|
|
|
a {
|
|
color: rgba(255, 255, 255, 0.8);
|
|
transition: $transition-base;
|
|
&:hover:not(.btn) {
|
|
color: $secondary; // Warmer Hover-Effekt im Footer
|
|
text-decoration: none;
|
|
}
|
|
}
|
|
|
|
.productlist-filter-headline,
|
|
.newsletter-footer-heading,
|
|
.h3, h3 {
|
|
color: $white;
|
|
font-family: $headings-font-family;
|
|
}
|
|
}
|
|
|
|
// --- Layout Wrapper ---
|
|
@media screen and (min-width: 1200px) {
|
|
#main-wrapper {
|
|
background-image: url('https://stoffhaus-hanke.de/media/image/storage/opc/header/stoffballen.png');
|
|
background-attachment: fixed;
|
|
background-size: cover;
|
|
background-position: center;
|
|
}
|
|
|
|
#content {
|
|
max-width: 1200px;
|
|
margin: 40px auto;
|
|
background-color: rgba(255, 255, 255, 0.97); // Leicht transparent für Eleganz
|
|
border-radius: $border-radius-lg;
|
|
box-shadow: $box-shadow;
|
|
padding: 30px;
|
|
}
|
|
|
|
.breadcrumb-wrapper {
|
|
max-width: 1200px;
|
|
margin: 20px auto;
|
|
background-color: rgba(255, 255, 255, 0.95);
|
|
border-radius: $border-radius-lg;
|
|
box-shadow: $box-shadow-sm;
|
|
padding: 10px 20px;
|
|
}
|
|
} |