| |
| <?php
|
| <?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| $ROOSMARK_CONFIG = array(
|
| 'brand_colors' => array(
|
| 'primary' => '#c8366b',
|
| 'secondary' => '#2c3e50',
|
| 'dark' => '#1a1a1a'
|
| ),
|
| 'prices' => array(
|
| 'small' => 299,
|
| 'medium' => 499,
|
| 'large' => 799
|
| ),
|
| 'shop_url' => 'https://roosmark.com/alla-posters-roosmark/',
|
| 'charity_total' => '500,000',
|
| 'charity_per_poster' => 15
|
| );
|
|
|
|
|
| $IMAGE_CATEGORIES = array(
|
| 'svartvita' => array(
|
| 'https://roosmark.com/wp-content/uploads/2024/07/Marie-G-Poster-CR.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/07/Kattis-A-Poster-CR.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/07/Suzanne-R-Poster-CR.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/07/Lotta-E-Poster-CR.jpg'
|
| ),
|
| 'natur' => array(
|
| 'https://roosmark.com/wp-content/uploads/2024/08/natur-landskap-poster-1.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/08/natur-landskap-poster-2.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/08/berg-skog-poster.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/08/hav-strand-poster.jpg'
|
| ),
|
| 'vardsrum' => array(
|
| 'https://roosmark.com/wp-content/uploads/2024/07/Marie-G-Poster-CR.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/07/Suzanne-R-Poster-CR.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/08/vardagsrum-inredning-1.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/08/vardagsrum-inredning-2.jpg'
|
| ),
|
| 'kok' => array(
|
| 'https://roosmark.com/wp-content/uploads/2024/08/kok-citron-poster.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/08/kok-italiensk-poster.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/08/kok-frukt-poster.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/08/kok-vin-poster.jpg'
|
| ),
|
| 'sovrum' => array(
|
| 'https://roosmark.com/wp-content/uploads/2024/08/sovrum-lugn-poster-1.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/08/sovrum-natur-poster.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/08/sovrum-zen-poster.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/07/Lotta-E-Poster-CR.jpg'
|
| ),
|
| 'barnrum' => array(
|
| 'https://roosmark.com/wp-content/uploads/2024/08/barnrum-djur-poster-1.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/08/barnrum-alfabet-poster.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/08/barnrum-safari-poster.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/08/barnrum-rymden-poster.jpg'
|
| ),
|
| 'default' => array(
|
| 'https://roosmark.com/wp-content/uploads/2024/07/Marie-G-Poster-CR.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/07/Kattis-A-Poster-CR.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/07/Suzanne-R-Poster-CR.jpg',
|
| 'https://roosmark.com/wp-content/uploads/2024/07/Lotta-E-Poster-CR.jpg'
|
| )
|
| );
|
|
|
|
|
| $FAQ_TEMPLATES = array(
|
| 'svartvita' => array(
|
| array(
|
| 'q' => 'Varför välja svartvita posters för hemmet?',
|
| 'a' => 'Svartvita posters skapar en tidlös elegans och passar alla inredningsstilar. De är lätta att kombinera med färgglada textilier och möbler, och de går aldrig ur mode.'
|
| ),
|
| array(
|
| 'q' => 'Vilken storlek passar bäst för svartvita posters?',
|
| 'a' => 'För vardagsrum rekommenderas 70×100 cm eller 50×70 cm för maximal visuell effekt. I hall och sovrum fungerar 50×70 cm perfekt, medan 30×40 cm passar utmärkt i grupper eller på mindre väggar.'
|
| ),
|
| array(
|
| 'q' => 'Hur hänger jag svartvita posters snyggt?',
|
| 'a' => 'Skapa en gallery wall med 3-5 posters i olika storlekar, eller häng en stor 70×100 cm poster som statement piece. Använd vattenpass och mät 15-20 cm avstånd mellan ramarna för bäst resultat.'
|
| )
|
| ),
|
| 'natur' => array(
|
| array(
|
| 'q' => 'Varför är naturmotiv populära i heminredning?',
|
| 'a' => 'Naturmotiv skapar lugn och harmoni i hemmet. Forskning visar att bilder av natur kan sänka stressnivåer och förbättra välbefinnandet, vilket gör dem perfekta för sovrum och vardagsrum.'
|
| ),
|
| array(
|
| 'q' => 'Vilka rum passar bäst för naturposters?',
|
| 'a' => 'Naturmotiv fungerar utmärkt i alla rum. Berglandskap och skog passar vardagsrum, havsmotiv i badrum och sovrum, medan botaniska prints är perfekta för kök och hall.'
|
| ),
|
| array(
|
| 'q' => 'Hur kombinerar jag naturposters med modern inredning?',
|
| 'a' => 'Välj naturmotiv i dämpade färger eller svartvitt för skandinavisk stil. Kombinera med naturliga material som trä, linne och gröna växter för en sammanhängande look.'
|
| )
|
| ),
|
| 'vardsrum' => array(
|
| array(
|
| 'q' => 'Vilken storlek poster passar mitt vardagsrum?',
|
| 'a' => 'För väggar över soffa rekommenderas 70×100 cm eller panoramaformat. Mät väggen och välj en poster som täcker 2/3 av soffans bredd för bästa proportioner.'
|
| ),
|
| array(
|
| 'q' => 'Hur skapar jag en gallery wall i vardagsrummet?',
|
| 'a' => 'Börja med en stor 70×100 cm poster som mittfokus, komplettera med 2-4 mindre posters i 50×70 eller 30×40 cm. Håll 15-20 cm avstånd mellan ramarna och använd samma ramfärg för sammanhang.'
|
| ),
|
| array(
|
| 'q' => 'Vilka färger passar vardagsrum 2025?',
|
| 'a' => 'Tidlösa svartvita motiv är alltid säkra kort. För färg, välj jordnära toner som terracotta, beige och grönt, eller djupblått för ett modernt uttryck.'
|
| )
|
| ),
|
| 'kok' => array(
|
| array(
|
| 'q' => 'Vilka motiv passar bäst i köket?',
|
| 'a' => 'Matrelaterade motiv som citroner, örter, vin och italienska scener är populära. Välj ljusa färger och enkla motiv som kompletterar din köksinteriör utan att kännas överväldigande.'
|
| ),
|
| array(
|
| 'q' => 'Var ska jag hänga posters i köket?',
|
| 'a' => 'Bästa platserna är ovanför matbordet, på väggen mittemot köksön, eller i ett hörn som behöver liv. Undvik direkt intill spis och diskbänk där fukt och fett kan påverka postern.'
|
| ),
|
| array(
|
| 'q' => 'Hur skyddar jag posters i köket?',
|
| 'a' => 'Välj ram med glas för att skydda mot stänk och fukt. Häng minst 50 cm från spis och diskho. Våra posters på 230g konstpapper tål normal köks-miljö när de är inramade.'
|
| )
|
| ),
|
| 'sovrum' => array(
|
| array(
|
| 'q' => 'Vilka färger främjar sömn i sovrummet?',
|
| 'a' => 'Lugna färger som blått, grönt, beige och gråtoner har visat sig främja avslappning och bättre sömn. Undvik starka röda och orange nyanser som kan vara stimulerande.'
|
| ),
|
| array(
|
| 'q' => 'Var ska posters placeras i sovrummet?',
|
| 'a' => 'Bästa platsen är väggen ovanför sänggaveln. En stor 70×100 cm poster eller två 50×70 cm posters bredvid varandra skapar ett vackert fokus när du vaknar.'
|
| ),
|
| array(
|
| 'q' => 'Hur skapar jag en harmonisk sovrumsvägg?',
|
| 'a' => 'Välj 1-3 posters i samma färgpalett. Naturmotiv, abstrakta former eller minimalistiska motiv fungerar bäst. Undvik för många bilder - mindre är mer i sovrummet.'
|
| )
|
| ),
|
| 'default' => array(
|
| array(
|
| 'q' => 'Vilka storlekar finns på era posters?',
|
| 'a' => 'Vi erbjuder tre populära storlekar: 30×40 cm (299 kr), 50×70 cm (499 kr) och 70×100 cm (799 kr). Alla trycks på 230g premium konstpapper för bästa kvalitet och hållbarhet.'
|
| ),
|
| array(
|
| 'q' => 'Hur lång är leveranstiden?',
|
| 'a' => 'Normal leveranstid är 2-4 arbetsdagar inom Sverige. Vi skickar från Stockholm och använder PostNord eller DHL. Spårning ingår i alla leveranser, och fri frakt gäller vid köp över 500 kr.'
|
| ),
|
| array(
|
| 'q' => 'Kan jag returnera en poster?',
|
| 'a' => 'Ja, vi har 30 dagars öppet köp. Om du inte är nöjd returnerar du postern i originalförpackning. Vi återbetalar hela beloppet inom 5-7 arbetsdagar efter att vi mottagit returen.'
|
| )
|
| )
|
| );
|
|
|
|
|
|
|
|
|
|
|
|
|
| function get_keyword_from_url() {
|
| $url = $_SERVER['REQUEST_URI'];
|
|
|
|
|
| $slug = basename($url);
|
| $slug = str_replace('.html', '', $slug);
|
| $slug = str_replace('-2', '', $slug);
|
|
|
|
|
| $keyword = str_replace('-', ' ', $slug);
|
|
|
|
|
| $keyword = preg_replace('/^(kopa|bestalla|billiga|premium)\s+/', '', $keyword);
|
| $keyword = preg_replace('/\s+(online|sverige|stockholm|2024|2025)$/', '', $keyword);
|
|
|
| return ucfirst(trim($keyword));
|
| }
|
|
|
|
|
|
|
|
|
| function detect_category($keyword) {
|
| $keyword_lower = mb_strtolower($keyword);
|
|
|
|
|
| if (strpos($keyword_lower, 'svartvit') !== false || strpos($keyword_lower, 'black white') !== false) {
|
| return 'svartvita';
|
| }
|
| if (strpos($keyword_lower, 'natur') !== false || strpos($keyword_lower, 'landskap') !== false ||
|
| strpos($keyword_lower, 'berg') !== false || strpos($keyword_lower, 'hav') !== false) {
|
| return 'natur';
|
| }
|
| if (strpos($keyword_lower, 'vardagsrum') !== false || strpos($keyword_lower, 'living') !== false) {
|
| return 'vardsrum';
|
| }
|
| if (strpos($keyword_lower, 'kök') !== false || strpos($keyword_lower, 'kitchen') !== false) {
|
| return 'kok';
|
| }
|
| if (strpos($keyword_lower, 'sovrum') !== false || strpos($keyword_lower, 'bedroom') !== false) {
|
| return 'sovrum';
|
| }
|
| if (strpos($keyword_lower, 'barnrum') !== false || strpos($keyword_lower, 'barn') !== false) {
|
| return 'barnrum';
|
| }
|
|
|
| return 'default';
|
| }
|
|
|
|
|
|
|
|
|
| function get_category_images($category) {
|
| global $IMAGE_CATEGORIES;
|
| return isset($IMAGE_CATEGORIES[$category]) ? $IMAGE_CATEGORIES[$category] : $IMAGE_CATEGORIES['default'];
|
| }
|
|
|
|
|
|
|
|
|
| function get_category_faqs($category) {
|
| global $FAQ_TEMPLATES;
|
| return isset($FAQ_TEMPLATES[$category]) ? $FAQ_TEMPLATES[$category] : $FAQ_TEMPLATES['default'];
|
| }
|
|
|
|
|
|
|
|
|
| function generate_meta_description($keyword) {
|
| return "Köp " . strtolower($keyword) . " online hos Roosmark. Premium posters på 230g konstpapper. Fri frakt över 500 kr, leverans 2-4 dagar. 15 kr per poster till välgörenhet.";
|
| }
|
|
|
|
|
|
|
|
|
| function generate_h1($keyword) {
|
| return ucfirst($keyword) . " – Premium Kvalitet från Roosmark";
|
| }
|
|
|
|
|
|
|
|
|
| function generate_h2($keyword, $category) {
|
| $category_texts = array(
|
| 'svartvita' => 'Tidlösa svartvita fotografier som aldrig går ur stil',
|
| 'natur' => 'Natursköna motiv som skapar harmoni i ditt hem',
|
| 'vardsrum' => 'Perfekta posters för ett stilfullt vardagsrum',
|
| 'kok' => 'Matinspirerade motiv för ditt kök',
|
| 'sovrum' => 'Lugna motiv som främjar avslappning',
|
| 'barnrum' => 'Glada och pedagogiska motiv för barnens rum',
|
| 'default' => 'Originalf otografier på 230g premium konstpapper'
|
| );
|
|
|
| return isset($category_texts[$category]) ? $category_texts[$category] : $category_texts['default'];
|
| }
|
|
|
|
|
|
|
|
|
| function esc($string) {
|
| return htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
|
| }
|
|
|
|
|
|
|
|
|
| $keyword = get_keyword_from_url();
|
| $category = detect_category($keyword);
|
| $images = get_category_images($category);
|
| $faqs = get_category_faqs($category);
|
| $config = $ROOSMARK_CONFIG;
|
|
|
|
|
| $meta_description = generate_meta_description($keyword);
|
| $h1 = generate_h1($keyword);
|
| $h2 = generate_h2($keyword, $category);
|
| $page_url = 'https://roosmark.com' . $_SERVER['REQUEST_URI'];
|
| $canonical_url = $page_url;
|
|
|
|
|
| $featured_image = $images[0];
|
|
|
|
|
| ?>
|
| <!DOCTYPE html>
|
| <html lang="sv">
|
| <head>
|
| <meta charset="UTF-8">
|
| <meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| <meta name="description" content="<?php echo esc($meta_description); ?>">
|
| <meta name="keywords" content="<?php echo esc(strtolower($keyword)); ?>, posters online, roosmark, premium posters">
|
| <title><?php echo esc($keyword); ?> | Roosmark</title>
|
|
|
| <!-- Open Graph -->
|
| <meta property="og:title" content="<?php echo esc($keyword); ?> | Roosmark">
|
| <meta property="og:description" content="<?php echo esc($meta_description); ?>">
|
| <meta property="og:image" content="<?php echo esc($featured_image); ?>">
|
| <meta property="og:url" content="<?php echo esc($page_url); ?>">
|
| <meta property="og:type" content="website">
|
| <meta property="og:site_name" content="Roosmark">
|
| <meta property="og:locale" content="sv_SE">
|
|
|
| <!-- Twitter Cards -->
|
| <meta name="twitter:card" content="summary_large_image">
|
| <meta name="twitter:title" content="<?php echo esc($keyword); ?>">
|
| <meta name="twitter:description" content="<?php echo esc($meta_description); ?>">
|
| <meta name="twitter:image" content="<?php echo esc($featured_image); ?>">
|
| <meta name="twitter:site" content="@carolineroosmark">
|
|
|
| <!-- SEO Optimizations -->
|
| <link rel="canonical" href="<?php echo esc($canonical_url); ?>">
|
| <meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
|
| <meta name="author" content="Caroline Roosmark">
|
| <link rel="alternate" hreflang="sv" href="<?php echo esc($canonical_url); ?>">
|
|
|
| <!-- Preload Critical Resources -->
|
| <link rel="preload" href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap" as="style">
|
| <link rel="preload" href="<?php echo esc($featured_image); ?>" as="image">
|
|
|
| <link rel="preconnect" href="https://fonts.googleapis.com">
|
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
| <link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap" rel="stylesheet">
|
|
|
| <!-- JSON-LD Structured Data -->
|
| <script type="application/ld+json">
|
| {
|
| "@context": "https://schema.org",
|
| "@type": "Product",
|
| "name": "<?php echo esc($keyword); ?>",
|
| "description": "<?php echo esc($meta_description); ?>",
|
| "image": "<?php echo esc($featured_image); ?>",
|
| "brand": {
|
| "@type": "Brand",
|
| "name": "Roosmark"
|
| },
|
| "offers": {
|
| "@type": "AggregateOffer",
|
| "url": "<?php echo esc($config['shop_url']); ?>",
|
| "priceCurrency": "SEK",
|
| "lowPrice": "<?php echo $config['prices']['small']; ?>",
|
| "highPrice": "<?php echo $config['prices']['large']; ?>",
|
| "offerCount": "100",
|
| "availability": "https://schema.org/InStock",
|
| "priceValidUntil": "<?php echo date('Y-12-31'); ?>"
|
| },
|
| "aggregateRating": {
|
| "@type": "AggregateRating",
|
| "ratingValue": "4.9",
|
| "reviewCount": "14000",
|
| "bestRating": "5",
|
| "worstRating": "1"
|
| }
|
| }
|
| </script>
|
|
|
| <script type="application/ld+json">
|
| {
|
| "@context": "https://schema.org",
|
| "@type": "FAQPage",
|
| "mainEntity": [
|
| <?php foreach ($faqs as $index => $faq): ?>
|
| {
|
| "@type": "Question",
|
| "name": "<?php echo esc($faq['q']); ?>",
|
| "acceptedAnswer": {
|
| "@type": "Answer",
|
| "text": "<?php echo esc($faq['a']); ?>"
|
| }
|
| }<?php echo ($index < count($faqs) - 1) ? ',' : ''; ?>
|
| <?php endforeach; ?>
|
| ]
|
| }
|
| </script>
|
|
|
| <script type="application/ld+json">
|
| {
|
| "@context": "https://schema.org",
|
| "@type": "BreadcrumbList",
|
| "itemListElement": [{
|
| "@type": "ListItem",
|
| "position": 1,
|
| "name": "Hem",
|
| "item": "https://roosmark.com/"
|
| },{
|
| "@type": "ListItem",
|
| "position": 2,
|
| "name": "<?php echo esc($keyword); ?>",
|
| "item": "<?php echo esc($page_url); ?>"
|
| }]
|
| }
|
| </script>
|
|
|
| <style>
|
|
|
| * { margin: 0; padding: 0; box-sizing: border-box; }
|
| body { font-family: 'Georgia', serif; line-height: 1.6; color:
|
| html { scroll-behavior: smooth; }
|
|
|
|
|
| .progress-container {
|
| position: fixed;
|
| top: 0;
|
| z-index: 10000;
|
| width: 100%;
|
| height: 4px;
|
| background: rgba(200, 54, 107, 0.1);
|
| }
|
| .progress-bar {
|
| height: 4px;
|
| background: linear-gradient(90deg, <?php echo $config['brand_colors']['primary']; ?> 0%,
|
| width: 0%;
|
| transition: width 0.3s ease;
|
| }
|
|
|
|
|
| .back-to-top {
|
| position: fixed;
|
| bottom: 80px;
|
| right: 30px;
|
| width: 50px;
|
| height: 50px;
|
| background: <?php echo $config['brand_colors']['primary']; ?>;
|
| color: white;
|
| border: none;
|
| border-radius: 50%;
|
| cursor: pointer;
|
| font-size: 20px;
|
| opacity: 0;
|
| visibility: hidden;
|
| transition: all 0.3s ease;
|
| z-index: 1000;
|
| }
|
| .back-to-top.visible {
|
| opacity: 1;
|
| visibility: visible;
|
| }
|
| .back-to-top:hover {
|
| background:
|
| transform: translateY(-3px);
|
| }
|
|
|
|
|
| .hero {
|
| background: linear-gradient(135deg,
|
| padding: 4rem 5% 3rem;
|
| text-align: center;
|
| }
|
| .hero-content { max-width: 900px; margin: 0 auto; }
|
| h1 {
|
| font-size: 2.8rem;
|
| margin-bottom: 1.5rem;
|
| font-weight: 400;
|
| line-height: 1.2;
|
| color: <?php echo $config['brand_colors']['dark']; ?>;
|
| }
|
| h2 {
|
| font-size: 1.4rem;
|
| color:
|
| font-weight: 400;
|
| line-height: 1.6;
|
| max-width: 700px;
|
| margin: 0 auto;
|
| }
|
|
|
|
|
| .cta-button {
|
| display: inline-block;
|
| background: <?php echo $config['brand_colors']['primary']; ?>;
|
| color: white;
|
| padding: 1.2rem 3rem;
|
| text-decoration: none;
|
| border-radius: 4px;
|
| font-weight: 600;
|
| font-size: 1.1rem;
|
| margin: 2rem 0;
|
| transition: all 0.3s ease;
|
| font-family: 'Open Sans', sans-serif;
|
| }
|
| .cta-button:hover {
|
| background:
|
| transform: translateY(-2px);
|
| box-shadow: 0 5px 20px rgba(200, 54, 107, 0.3);
|
| }
|
|
|
|
|
| .usp-bar {
|
| background:
|
| padding: 2rem 5%;
|
| border-bottom: 1px solid
|
| }
|
| .usp-content {
|
| max-width: 1200px;
|
| margin: 0 auto;
|
| display: grid;
|
| grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
| gap: 2rem;
|
| text-align: center;
|
| }
|
| .usp-item { padding: 1rem; transition: transform 0.3s ease; }
|
| .usp-item:hover { transform: translateY(-5px); }
|
| .usp-icon {
|
| font-size: 2.5rem;
|
| margin-bottom: 0.8rem;
|
| color: <?php echo $config['brand_colors']['primary']; ?>;
|
| }
|
| .usp-title {
|
| font-weight: 600;
|
| margin-bottom: 0.5rem;
|
| color: <?php echo $config['brand_colors']['primary']; ?>;
|
| font-family: 'Open Sans', sans-serif;
|
| font-size: 1rem;
|
| }
|
| .usp-text {
|
| font-size: 0.9rem;
|
| color: <?php echo $config['brand_colors']['primary']; ?>;
|
| }
|
|
|
|
|
| .gallery-section {
|
| padding: 5rem 5%;
|
| background:
|
| }
|
| .gallery-wrapper {
|
| max-width: 1200px;
|
| margin: 0 auto;
|
| }
|
| .gallery-section h3 {
|
| font-size: 2.2rem;
|
| color: <?php echo $config['brand_colors']['dark']; ?>;
|
| margin-bottom: 3rem;
|
| text-align: center;
|
| font-weight: 400;
|
| }
|
| .gallery-grid {
|
| display: grid;
|
| grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
| gap: 2rem;
|
| }
|
| .gallery-item {
|
| position: relative;
|
| overflow: hidden;
|
| border-radius: 8px;
|
| box-shadow: 0 4px 15px rgba(0,0,0,0.1);
|
| transition: transform 0.3s ease, box-shadow 0.3s ease;
|
| }
|
| .gallery-item:hover {
|
| transform: translateY(-8px);
|
| box-shadow: 0 8px 30px rgba(0,0,0,0.15);
|
| }
|
| .gallery-item img {
|
| width: 100%;
|
| height: 400px;
|
| object-fit: cover;
|
| display: block;
|
| }
|
|
|
|
|
| .social-proof {
|
| background: <?php echo $config['brand_colors']['primary']; ?>;
|
| color: white;
|
| padding: 3rem 5%;
|
| text-align: center;
|
| }
|
| .social-proof-content {
|
| max-width: 800px;
|
| margin: 0 auto;
|
| }
|
| .social-proof h3 {
|
| font-size: 2rem;
|
| margin-bottom: 1rem;
|
| font-weight: 400;
|
| }
|
| .social-stats {
|
| display: grid;
|
| grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
|
| gap: 2rem;
|
| margin-top: 2rem;
|
| }
|
| .stat {
|
| padding: 1rem;
|
| }
|
| .stat-number {
|
| font-size: 2.5rem;
|
| font-weight: 700;
|
| display: block;
|
| margin-bottom: 0.5rem;
|
| }
|
| .stat-text {
|
| font-size: 1rem;
|
| opacity: 0.9;
|
| }
|
|
|
|
|
| .faq-section {
|
| padding: 5rem 5%;
|
| background:
|
| }
|
| .faq-wrapper {
|
| max-width: 900px;
|
| margin: 0 auto;
|
| }
|
| .faq-section h3 {
|
| font-size: 2.2rem;
|
| color: <?php echo $config['brand_colors']['dark']; ?>;
|
| margin-bottom: 3rem;
|
| text-align: center;
|
| font-weight: 400;
|
| }
|
| .faq-item {
|
| background: white;
|
| padding: 2rem;
|
| margin-bottom: 1.5rem;
|
| border-radius: 8px;
|
| box-shadow: 0 2px 10px rgba(0,0,0,0.05);
|
| }
|
| .faq-question {
|
| font-size: 1.2rem;
|
| font-weight: 600;
|
| color: <?php echo $config['brand_colors']['primary']; ?>;
|
| margin-bottom: 1rem;
|
| }
|
| .faq-answer {
|
| line-height: 1.7;
|
| color:
|
| }
|
|
|
|
|
| .footer-cta {
|
| background: <?php echo $config['brand_colors']['secondary']; ?>;
|
| color: white;
|
| padding: 4rem 5%;
|
| text-align: center;
|
| }
|
| .footer-cta h3 {
|
| font-size: 2rem;
|
| margin-bottom: 1.5rem;
|
| font-weight: 400;
|
| }
|
| .footer-cta p {
|
| font-size: 1.2rem;
|
| margin-bottom: 2rem;
|
| opacity: 0.9;
|
| }
|
|
|
|
|
| .sticky-footer {
|
| position: fixed;
|
| bottom: 0;
|
| left: 0;
|
| right: 0;
|
| background: white;
|
| padding: 1rem 5%;
|
| box-shadow: 0 -3px 15px rgba(0,0,0,0.1);
|
| z-index: 999;
|
| display: flex;
|
| justify-content: space-between;
|
| align-items: center;
|
| }
|
| .sticky-price {
|
| font-size: 1.3rem;
|
| font-weight: 700;
|
| color: <?php echo $config['brand_colors']['primary']; ?>;
|
| }
|
| .sticky-cta {
|
| background: <?php echo $config['brand_colors']['primary']; ?>;
|
| color: white;
|
| padding: 1rem 2.5rem;
|
| text-decoration: none;
|
| border-radius: 4px;
|
| font-weight: 600;
|
| transition: all 0.3s ease;
|
| font-family: 'Open Sans', sans-serif;
|
| }
|
| .sticky-cta:hover {
|
| background:
|
| transform: scale(1.05);
|
| }
|
|
|
|
|
| @media (max-width: 768px) {
|
| h1 { font-size: 2rem; }
|
| h2 { font-size: 1.1rem; }
|
| .usp-content { grid-template-columns: 1fr; }
|
| .gallery-grid { grid-template-columns: 1fr; }
|
| .social-stats { grid-template-columns: 1fr; }
|
| .sticky-footer {
|
| flex-direction: column;
|
| gap: 1rem;
|
| padding: 1.5rem 5%;
|
| }
|
| .gallery-item img {
|
| height: 300px;
|
| }
|
| }
|
| </style>
|
| </head>
|
| <body>
|
| <!-- Progress Bar -->
|
| <div class="progress-container">
|
| <div class="progress-bar" id="progressBar"></div>
|
| </div>
|
|
|
| <!-- Back to Top Button -->
|
| <button class="back-to-top" id="backToTop" aria-label="Tillbaka till toppen">↑</button>
|
|
|
| <!-- Hero Section -->
|
| <section class="hero">
|
| <div class="hero-content">
|
| <h1><?php echo esc($h1); ?></h1>
|
| <h2><?php echo esc($h2); ?></h2>
|
| <a href="<?php echo esc($config['shop_url']); ?>" class="cta-button">Se Alla Posters →</a>
|
| </div>
|
| </section>
|
|
|
| <!-- USP Bar -->
|
| <section class="usp-bar">
|
| <div class="usp-content">
|
| <div class="usp-item">
|
| <div class="usp-icon">✓</div>
|
| <div class="usp-title">Premium Kvalitet</div>
|
| <div class="usp-text">230g konstpapper</div>
|
| </div>
|
| <div class="usp-item">
|
| <div class="usp-icon">🚚</div>
|
| <div class="usp-title">Snabb Leverans</div>
|
| <div class="usp-text">2-4 arbetsdagar</div>
|
| </div>
|
| <div class="usp-item">
|
| <div class="usp-icon">💝</div>
|
| <div class="usp-title">Välgörenhet</div>
|
| <div class="usp-text"><?php echo $config['charity_per_poster']; ?> kr per poster</div>
|
| </div>
|
| <div class="usp-item">
|
| <div class="usp-icon">↩️</div>
|
| <div class="usp-title">30 Dagars Retur</div>
|
| <div class="usp-text">Nöjd kund-garanti</div>
|
| </div>
|
| </div>
|
| </section>
|
|
|
| <!-- Gallery Section -->
|
| <section class="gallery-section">
|
| <div class="gallery-wrapper">
|
| <h3>Upptäck Våra <?php echo esc(ucfirst($keyword)); ?></h3>
|
| <div class="gallery-grid">
|
| <?php foreach ($images as $image): ?>
|
| <div class="gallery-item">
|
| <img src="<?php echo esc($image); ?>" alt="<?php echo esc($keyword); ?> poster från Roosmark" loading="lazy">
|
| </div>
|
| <?php endforeach; ?>
|
| </div>
|
| <div style="text-align: center; margin-top: 3rem;">
|
| <a href="<?php echo esc($config['shop_url']); ?>" class="cta-button">Handla Nu →</a>
|
| </div>
|
| </div>
|
| </section>
|
|
|
| <!-- Social Proof -->
|
| <section class="social-proof">
|
| <div class="social-proof-content">
|
| <h3>Gör Skillnad Med Varje Köp</h3>
|
| <p>Över <?php echo esc($config['charity_total']); ?> kr donerat till välgörenhet</p>
|
| <div class="social-stats">
|
| <div class="stat">
|
| <span class="stat-number">14,000+</span>
|
| <span class="stat-text">Nöjda kunder</span>
|
| </div>
|
| <div class="stat">
|
| <span class="stat-number">4.9/5</span>
|
| <span class="stat-text">Genomsnittsbetyg</span>
|
| </div>
|
| <div class="stat">
|
| <span class="stat-number">100+</span>
|
| <span class="stat-text">Unika motiv</span>
|
| </div>
|
| </div>
|
| </div>
|
| </section>
|
|
|
| <!-- FAQ Section -->
|
| <section class="faq-section">
|
| <div class="faq-wrapper">
|
| <h3>Vanliga Frågor</h3>
|
| <?php foreach ($faqs as $faq): ?>
|
| <div class="faq-item">
|
| <div class="faq-question"><?php echo esc($faq['q']); ?></div>
|
| <div class="faq-answer"><?php echo esc($faq['a']); ?></div>
|
| </div>
|
| <?php endforeach; ?>
|
| </div>
|
| </section>
|
|
|
| <!-- Footer CTA -->
|
| <section class="footer-cta">
|
| <h3>Redo Att Förändra Ditt Hem?</h3>
|
| <p>Handla <?php echo strtolower(esc($keyword)); ?> med fri frakt över 500 kr</p>
|
| <a href="<?php echo esc($config['shop_url']); ?>" class="cta-button" style="background: white; color: <?php echo $config['brand_colors']['primary']; ?>;">Handla Nu →</a>
|
| </section>
|
|
|
| <!-- Sticky Footer -->
|
| <div class="sticky-footer">
|
| <div class="sticky-price">
|
| Från <?php echo $config['prices']['small']; ?> kr
|
| </div>
|
| <a href="<?php echo esc($config['shop_url']); ?>" class="sticky-cta">Köp Nu →</a>
|
| </div>
|
|
|
| <!-- JavaScript -->
|
| <script>
|
| // Progress bar
|
| window.addEventListener('scroll', function() {
|
| const winScroll = document.body.scrollTop || document.documentElement.scrollTop;
|
| const height = document.documentElement.scrollHeight - document.documentElement.clientHeight;
|
| const scrolled = (winScroll / height) * 100;
|
| document.getElementById('progressBar').style.width = scrolled + '%';
|
|
|
|
|
| const backToTop = document.getElementById('backToTop');
|
| if (winScroll > 300) {
|
| backToTop.classList.add('visible');
|
| } else {
|
| backToTop.classList.remove('visible');
|
| }
|
| });
|
|
|
|
|
| document.getElementById('backToTop').addEventListener('click', function() {
|
| window.scrollTo({
|
| top: 0,
|
| behavior: 'smooth'
|
| });
|
| });
|
| </script>
|
| </body>
|
| </html>
|
| <?php
|
|
|
| ?>
|
| |
| |
Comments