*{
    box-sizing:border-box;
}

html,body{
    margin:0;
    padding:0;
}

body{
    font-family: Georgia, "Times New Roman", serif;
    background:#f4efea;
    color:#5e4534;
    line-height:1.6;
}

img{
    max-width:100%;
    display:block;
}

a{
    color:#9d7446;
    text-decoration:none;
}

.container{
    width:min(1280px, calc(100% - 48px));
    margin:0 auto;
}

/* HEADER */

.site-header{
    background:#f8f3ee;
    border-bottom:1px solid #e3d4c4;
}

.header-inner{
    min-height:80px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:30px;
}

.site-logo img{
    height:42px;
    width:auto;
}

.main-nav{
    display:flex;
    justify-content:center;
    gap:34px;
    flex-wrap:wrap;
}

.main-nav a{
    color:#7f6249;
    font-size:0.98rem;
}

.header-icons{
    display:flex;
    gap:16px;
    color:#9d7446;
    font-size:1.2rem;
}

/* STARTSIDA */

.hero-home{
    background:#f4efea;
    padding:24px 0 0;
}

.hero-stage{
    position:relative;
    min-height:680px;
    border-radius:28px;
    overflow:hidden;
    background:url('/images/Hero1.png');
    background-size:cover;
    background-position:center;
    box-shadow:0 16px 42px rgba(120, 86, 56, 0.10);
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(244,239,234,0.90) 0%, rgba(244,239,234,0.82) 32%, rgba(244,239,234,0.38) 62%, rgba(244,239,234,0.10) 100%);
}

.hero-card{
    position:relative;
    z-index:2;
    width:min(760px, calc(100% - 48px));
    margin:42px 0 42px 42px;
    padding:42px 44px;
    background:rgba(255,248,242,0.74);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    border:1px solid rgba(223, 201, 180, 0.72);
    border-radius:28px;
    box-shadow:0 12px 28px rgba(96, 68, 44, 0.08);
}

.eyebrow{
    margin:0 0 14px;
    color:#9d7446;
    font-size:0.95rem;
    letter-spacing:0.2px;
}

.hero-card h1{
    margin:0 0 18px;
    font-size:4rem;
    line-height:1.06;
    color:#6a4a33;
    font-weight:700;
    max-width:900px;
}

.hero-text{
    margin:0 0 24px;
    font-size:1.12rem;
    color:#684f3f;
    max-width:720px;
}

.hero-search{
    margin:0 0 14px;
}

.search-row{
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:14px;
    align-items:center;
    max-width:820px;
}

.search-row select{
    height:64px;
    border:1px solid #d7c0a5;
    background:#fbf8f4;
    padding:0 18px;
    font-size:1.02rem;
    border-radius:16px;
    color:#6a5648;
}

.hero-button{
    height:64px;
    padding:0 30px;
    border:none;
    border-radius:16px;
    background:linear-gradient(180deg,#d3b07f,#bc9258);
    color:#fff;
    font-size:1.05rem;
    font-weight:700;
    cursor:pointer;
    white-space:nowrap;
}

.hero-links{
    display:flex;
    gap:26px;
    flex-wrap:wrap;
}

.hero-links a{
    font-weight:700;
    color:#9d7446;
}

/* GEMENSAMT INNEHÅLL */

.home-content,
.city-page-content{
    background:#f4efea;
    padding:34px 0 60px;
}

.categories-block{
    padding:0 0 34px;
}

.ornament{
    text-align:center;
    font-size:1.9rem;
    color:#c4a57f;
    margin-bottom:4px;
}

.section-title{
    text-align:center;
    margin:0 0 8px;
    font-size:2.35rem;
    color:#6d4e34;
    font-weight:500;
}

.section-subtitle{
    text-align:center;
    margin:0 0 24px;
    color:#66594f;
    font-size:1.04rem;
}

.category-grid,
.city-category-grid,
.guide-grid{
    display:grid;
    gap:16px;
}

.category-grid{
    grid-template-columns:repeat(4, 1fr);
}

.city-category-grid{
    grid-template-columns:repeat(3, 1fr);
}

.guide-grid{
    grid-template-columns:repeat(3, 1fr);
}

.category-box,
.city-category-card,
.guide-card{
    background:#fbf8f4;
    border:1px solid #e6d8ca;
    border-radius:18px;
    box-shadow:0 6px 18px rgba(115,86,60,0.06);
    overflow:hidden;
    transition:transform 0.15s ease;
}

.category-box:hover,
.city-category-card:hover,
.guide-card:hover{
    transform:translateY(-2px);
}

.category-thumb,
.city-category-image{
    height:132px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:2rem;
    color:#9b7349;
    background:linear-gradient(135deg,#efe3d5,#e3cfbe);
    overflow:hidden;
}

.city-category-image{
    height:180px;
    font-size:1.4rem;
    font-weight:700;
}

.category-preview-image{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.category-label,
.city-category-title{
    padding:16px 14px;
    text-align:center;
    font-size:1.18rem;
    border-top:1px solid #eadfd4;
    background:#fffdfa;
    color:#6a5340;
}

.guide-card-inner{
    padding:24px;
}

.guide-card-inner h3{
    margin:0 0 10px;
    font-size:1.45rem;
    color:#6d4e34;
}

.guide-card-inner p{
    margin:0;
    color:#9d7446;
    font-weight:700;
}

.split-section,
.city-categories,
.city-featured,
.wishlist-section,
.wishlist-list-section{
    padding:0 0 34px;
}

.split-grid,
.city-columns,
.wishlist-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}

.info-card,
.city-column-card,
.wishlist-card{
    background:#fbf8f4;
    border:1px solid #e6d8ca;
    border-radius:22px;
    padding:28px 26px;
    box-shadow:0 6px 18px rgba(115,86,60,0.05);
}

.info-card h3,
.city-column-card h3,
.wishlist-card h2{
    margin:0 0 16px;
    font-size:2rem;
    color:#6d4e34;
    font-weight:500;
}

.soft-link-list,
.city-link-list{
    list-style:none;
    padding:0;
    margin:0;
}

.soft-link-list li,
.city-link-list li{
    border-top:1px solid #efe3d8;
}

.soft-link-list li:first-child,
.city-link-list li:first-child{
    border-top:none;
}

.soft-link-list a,
.city-link-list a{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 0;
    color:#6d5744;
    font-size:1.1rem;
}

.soft-link-list a:after{
    content:"›";
    color:#b38a5b;
    font-size:1.25rem;
}

.city-pills,
.city-tags{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.city-pills a,
.city-tags a{
    padding:10px 16px;
    background:#fffdfa;
    border:1px solid #dcc8b3;
    border-radius:999px;
    color:#6e5642;
    font-size:1.02rem;
}

.image-block{
    border-radius:18px;
    overflow:hidden;
    border:1px solid #e4d2c0;
}

.image-block img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.seo-intro{
    padding:0;
}

.seo-intro-box,
.city-featured-card{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:24px;
    align-items:stretch;
    background:#fbf8f4;
    border:1px solid #e6d8ca;
    border-radius:24px;
    padding:28px;
    box-shadow:0 6px 18px rgba(115,86,60,0.05);
}

.seo-text h2,
.city-categories h2,
.city-featured-text h2{
    margin:0 0 14px;
    font-size:2.15rem;
    line-height:1.2;
    color:#6d4e34;
    font-weight:500;
}

.city-categories h2{
    text-align:center;
    margin:0 0 18px;
    font-size:2.2rem;
}

.seo-text p,
.city-featured-text li,
.city-featured-text p{
    margin:0 0 14px;
    font-size:1.06rem;
    color:#675444;
}

.city-featured-kicker{
    margin:0 0 8px;
    color:#9d7446;
    font-size:1rem;
}

.city-featured-text ul{
    margin:0 0 22px 20px;
    padding:0;
}

.seo-image,
.city-image-placeholder{
    min-height:320px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:1px solid #dcc8b3;
    border-radius:20px;
    background:linear-gradient(135deg,#f1e7dc,#e5d4c5);
    color:#9b7349;
}

.city-image-placeholder{
    min-height:340px;
    font-size:2rem;
    font-weight:700;
}

.seo-image span{
    font-size:3rem;
    line-height:1;
    font-weight:700;
    margin-bottom:12px;
}

.seo-image small{
    font-size:1.05rem;
    color:#6e6257;
}

.city-button{
    display:inline-block;
    padding:14px 26px;
    border-radius:14px;
    background:linear-gradient(180deg,#d3b07f,#bc9258);
    color:#fff;
    font-weight:700;
    border:none;
    cursor:pointer;
}

/* WISHLIST */

.wishlist-form label{
    display:block;
    margin:0 0 6px;
    font-weight:700;
    color:#6d4e34;
}

.wishlist-form input,
.wishlist-form textarea{
    width:100%;
    margin:0 0 16px;
    padding:14px 16px;
    border:1px solid #dcc8b3;
    border-radius:14px;
    background:#fffdfa;
    color:#5e4534;
    font-family:inherit;
    font-size:1rem;
}

.wishlist-share-box{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    margin:18px 0 12px;
}

.wishlist-share-box input{
    width:100%;
    padding:14px 16px;
    border:1px solid #dcc8b3;
    border-radius:14px;
    background:#fffdfa;
    color:#5e4534;
    font-size:1rem;
}

.wishlist-copy-button,
.wishlist-clear-button,
.wishlist-reserve-button,
.wishlist-delete-button{
    padding:12px 18px;
    border-radius:12px;
    border:1px solid #d4b48a;
    background:#fffdfa;
    color:#8a6239;
    font-weight:700;
    cursor:pointer;
}

.wishlist-small-text{
    margin:10px 0 0;
    color:#6c5c50;
}

.wishlist-list-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0 0 18px;
}

.wishlist-list-header h2{
    margin:0;
    font-size:2rem;
    color:#6d4e34;
}

.wishlist-empty{
    background:#fbf8f4;
    border:1px solid #e6d8ca;
    border-radius:18px;
    padding:24px;
    color:#6c5c50;
}

.wishlist-list{
    display:grid;
    gap:16px;
}

.wishlist-item{
    background:#fbf8f4;
    border:1px solid #e6d8ca;
    border-radius:18px;
    padding:22px;
    box-shadow:0 6px 18px rgba(115,86,60,0.05);
}

.wishlist-item.is-reserved{
    opacity:0.78;
}

.wishlist-item-top{
    display:grid;
    grid-template-columns:1fr auto;
    gap:18px;
}

.wishlist-item h3{
    margin:0 0 8px;
    font-size:1.5rem;
    color:#6d4e34;
}

.wishlist-item-link,
.wishlist-item-note,
.wishlist-status{
    margin:0 0 8px;
    color:#675444;
}

.wishlist-item-actions{
    display:flex;
    flex-direction:column;
    gap:10px;
}

/* ADS */

.ad-card{
    height:100%;
    min-height:340px;
    background:#fffdfa;
    border:1px solid #e4d2c0;
    border-radius:20px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}

.ad-image{
    width:100%;
    height:210px;
    object-fit:cover;
    background:#efe3d5;
}

.ad-card-body{
    padding:20px;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.ad-card-body h3{
    margin:0;
    font-size:1.65rem;
    color:#6d4e34;
}

.ad-card-body p{
    margin:0;
    color:#675444;
}

.ad-phone{
    font-weight:700;
    color:#8a6239;
}

/* STAD & KATEGORI HERO */

.city-hero{
    background:#f4efea;
    padding:24px 0 20px;
}

.city-hero-stage,
.category-hero-stage,
.category-city-hero-stage{
    position:relative;
    min-height:360px;
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 16px 42px rgba(120, 86, 56, 0.10);
    background:url('/images/boras-hero.jpg');
    background-size:cover;
    background-position:center;
}

.category-hero-stage{
    background:url('/images/Hero1.png');
    background-size:cover;
    background-position:center;
}

.category-city-hero-stage{
    background:url('/images/Hero1.png');
    background-size:cover;
    background-position:center;
}

.city-hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(244,239,234,0.70) 0%, rgba(244,239,234,0.35) 100%);
}

.city-hero-content{
    position:relative;
    z-index:2;
    max-width:840px;
    margin:0 auto;
    text-align:center;
    padding:72px 24px;
}

.city-hero-content h1{
    margin:0 0 16px;
    font-size:3.5rem;
    line-height:1.08;
    color:#6a4a33;
    font-weight:500;
}

.city-hero-content p{
    margin:0 auto;
    max-width:760px;
    font-size:1.2rem;
    color:#5f4b3d;
}

/* FOOTER */

.site-footer{
    background:#eee3d8;
    border-top:1px solid #dcc8b3;
    padding:28px 0;
}

.footer-inner{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
}

.footer-brand strong{
    color:#6d4e34;
    font-size:1.1rem;
}

.footer-brand p{
    margin:8px 0 0;
    color:#6c5c50;
}

.footer-links{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}

.footer-links a{
    color:#7d6249;
}

/* RESPONSIVE */

@media (max-width: 1100px){
    .hero-card{
        width:min(760px, calc(100% - 32px));
        margin:28px;
    }

    .category-grid,
    .city-category-grid,
    .guide-grid{
        grid-template-columns:repeat(2, 1fr);
    }

    .split-grid,
    .seo-intro-box,
    .city-featured-card,
    .city-columns,
    .wishlist-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 760px){
    .container{
        width:min(100% - 24px, 1280px);
    }

    .header-inner{
        grid-template-columns:1fr;
        justify-items:start;
        gap:16px;
        padding:14px 0;
    }

    .main-nav{
        justify-content:flex-start;
        gap:16px;
    }

    .site-logo img{
        height:34px;
    }

    .hero-stage,
    .city-hero-stage,
    .category-hero-stage,
    .category-city-hero-stage{
        min-height:auto;
        border-radius:22px;
    }

    .hero-card{
        width:calc(100% - 24px);
        margin:12px;
        padding:26px 22px;
        border-radius:22px;
    }

    .hero-card h1,
    .city-hero-content h1{
        font-size:2.35rem;
    }

    .search-row,
    .wishlist-share-box,
    .wishlist-item-top{
        grid-template-columns:1fr;
    }

    .hero-button{
        width:100%;
    }

    .category-grid,
    .city-category-grid,
    .guide-grid{
        grid-template-columns:1fr 1fr;
        gap:12px;
    }

    .section-title,
    .info-card h3,
    .seo-text h2,
    .city-categories h2,
    .city-featured-text h2,
    .city-column-card h3,
    .wishlist-card h2,
    .wishlist-list-header h2,
    .ad-card-body h3{
        font-size:1.75rem;
    }

    .footer-inner{
        display:grid;
        grid-template-columns:1fr;
    }
}