/*
Theme Name: DHI Theme
Theme URI: https://d-hi.pl/
Author: DWMedia
Version: 3.6
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: dhi-theme
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;600;700;800;900&display=swap');

:root{
    --dhi-orange-1:#ffb42f;
    --dhi-orange-2:#f38a00;
    --dhi-bg-darken:.66;
}

*{box-sizing:border-box}

body{
    margin:0;
    background:#111;
    color:#fff;
    font-family:'Inter',Arial,sans-serif;
}

.dhi-header{
    background:#03080d;
    padding:20px 0 0;
}

.dhi-topbar-inner{
    width:min(1120px, calc(100% - 40px));
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:30px;
}

.dhi-logo{
    display:block;
    line-height:0;
}

.dhi-logo img{
    height:76px;
    width:auto;
    display:block;
}

.custom-logo-link{
    display:block;
    line-height:0;
}

.custom-logo{
    max-height:76px;
    width:auto;
    display:block;
}

.dhi-site-title{
    color:#eef2f6;
    font-size:58px;
    font-weight:800;
    letter-spacing:4px;
    margin:0;
    text-shadow:0 3px 10px rgba(0,0,0,.65);
}

.dhi-site-title a{
    color:inherit;
    text-decoration:none;
}

.dhi-line-wrap{
    display:flex;
    justify-content:center;
    padding:18px 20px 0;
}

.dhi-line{
    width:min(1120px, calc(100% - 40px));
    height:2px;
    background:linear-gradient(90deg,transparent,#ff9800,#fff,#ff9800,transparent);
    box-shadow:0 0 10px rgba(255,152,0,.55);
}

.dhi-hero-bg{
    background-image:
    linear-gradient(rgba(0,0,0,var(--dhi-bg-darken)), rgba(0,0,0,var(--dhi-bg-darken))),
    radial-gradient(circle at center 20%, rgba(255,255,255,.11), rgba(0,0,0,.10) 28%, rgba(0,0,0,.54) 82%),
    var(--dhi-bg-image);
    background-size:cover;
    background-position:center top;
    padding:44px 20px 0;
}

.dhi-hero-inner{
    width:min(960px,100%);
    margin:auto;
}

.dhi-orange-box{
    background:
    linear-gradient(180deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 34%),
    linear-gradient(180deg,var(--dhi-orange-1) 0%,var(--dhi-orange-2) 100%);
    color:#070707;
    border-radius:22px;
    text-align:center;
    box-shadow:
        0 18px 36px rgba(0,0,0,.42),
        inset 0 1px 0 rgba(255,255,255,.38),
        inset 0 -1px 0 rgba(0,0,0,.12);
}

.dhi-hero-title,
.dhi-service-card li,
.dhi-bottom-claim{
    font-family:'Inter',Arial,sans-serif;
}

.dhi-hero-title{
    padding:28px 52px 26px;
    margin-bottom:34px;
    font-size:clamp(36px,2.85vw,50px);
    line-height:1.12;
    font-weight:900;
    letter-spacing:.6px;
    word-spacing:2px;
}

.dhi-services-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
    margin-bottom:30px;
}

.dhi-service-card{
    min-height:285px;
    padding:34px 42px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.dhi-service-card ul{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:7px;
}

.dhi-service-card li{
    font-size:clamp(21px,1.45vw,27px);
    line-height:1.08;
    font-weight:800;
    letter-spacing:-.5px;
}

.dhi-bottom-claim{
    padding:18px 34px;
    font-size:clamp(23px,1.7vw,29px);
    line-height:1.15;
    font-weight:900;
    letter-spacing:.8px;
    word-spacing:3px;
    margin-bottom:30px;
}

/* PODSTRONY */

.dhi-page-main{
    background-image:
    linear-gradient(rgba(0,0,0,var(--dhi-bg-darken)), rgba(0,0,0,var(--dhi-bg-darken))),
    radial-gradient(circle at center 20%, rgba(255,255,255,.10), rgba(0,0,0,.16) 34%, rgba(0,0,0,.66) 90%),
    var(--dhi-bg-image);
    background-size:cover;
    background-position:center top;
    min-height:620px;
    padding:62px 20px 78px;
}

.dhi-page-content{
    width:min(1120px,100%);
    margin:0 auto;
    background:transparent;
    border:none;
    border-radius:0;
    padding:0 20px 40px;
    color:#f1f1f1;
    box-shadow:none;
    text-align:center;
}

.dhi-page-content h1{
    display:inline-block;
    text-align:center;
    font-size:clamp(48px,4vw,72px);
    font-weight:900;
    letter-spacing:.5px;
    margin:4px auto 54px;
    color:#fff;
    text-shadow:
        0 4px 14px rgba(0,0,0,.72),
        0 0 22px rgba(255,170,40,.18);
    position:relative;
}

.dhi-page-content h1::after{
    content:"";
    display:block;
    width:72%;
    height:3px;
    margin:18px auto 0;
    border-radius:20px;
    background:linear-gradient(90deg,transparent,#ff9800,#fff,#ff9800,transparent);
    box-shadow:0 0 11px rgba(255,152,0,.48);
}

.dhi-page-content p{
    max-width:820px;
    margin:0 auto 22px;
    font-size:22px;
    line-height:1.65;
    letter-spacing:.1px;
    color:#f3f3f3;
}

.dhi-page-content strong{
    display:block;
    margin:0 auto 26px;
    font-size:34px;
    line-height:1.18;
    font-weight:900;
    letter-spacing:.2px;
    color:#fff;
    text-shadow:0 3px 11px rgba(0,0,0,.55);
}

.dhi-page-content a{
    color:#ffae2d;
}

/* Ładniejszy kontakt bez czarnej karty */
.dhi-page-content .wp-block-group,
.dhi-page-content .wp-block-columns,
.dhi-page-content .wp-block-column{
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
}

.dhi-page-content .wp-block-group{
    max-width:850px;
    margin:0 auto;
}

.dhi-page-content .wp-block-group p,
.dhi-page-content .wp-block-column p{
    font-size:23px;
    line-height:1.8;
    font-weight:600;
    margin-bottom:10px;
    letter-spacing:.1px;
    color:#f0f0f0;
    text-shadow:0 2px 8px rgba(0,0,0,.42);
}

.dhi-page-content .wp-block-group strong,
.dhi-page-content .wp-block-column strong{
    font-size:32px;
    margin-bottom:22px;
    letter-spacing:.25px;
}

.dhi-footer{
    padding:42px 20px 24px;
    position:relative;
}

.dhi-footer::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.42);
    backdrop-filter:blur(1px);
    z-index:0;
}

.dhi-footer-inner{
    position:relative;
    z-index:2;
    width:min(1120px, calc(100% - 40px));
    margin:auto;
}

.dhi-footer-top{
    display:grid;
    grid-template-columns:1.25fr 1fr 1fr;
    gap:40px;
    text-align:center;
    margin-bottom:30px;
}

.dhi-footer-title{
    font-size:22px;
    font-weight:800;
    margin-bottom:20px;
}

.dhi-footer-text{
    color:#e0e0e0;
    line-height:1.7;
    font-size:17px;
}

.dhi-footer-highlight{
    color:#ffae2d;
    font-size:20px;
    font-weight:800;
}

.dhi-footer-bottom{
    border-top:1px solid rgba(255,255,255,.12);
    padding-top:18px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    color:#d0d0d0;
    font-size:14px;
}

.dhi-footer-bottom a{
    color:#d0d0d0;
    text-decoration:none;
}

.dhi-footer-bottom a:hover{
    color:#ffae2d;
}

@media(max-width:900px){
    .dhi-topbar-inner{
        flex-direction:column;
        text-align:center;
        gap:14px;
    }

    .dhi-site-title{
        font-size:36px;
        letter-spacing:2px;
    }

    .dhi-services-grid,
    .dhi-footer-top{
        grid-template-columns:1fr;
    }

    .dhi-service-card{
        min-height:0;
    }

    .dhi-page-main{
        padding:44px 16px 58px;
    }

    .dhi-page-content h1{
        font-size:42px;
        margin-bottom:34px;
    }

    .dhi-page-content p,
    .dhi-page-content .wp-block-group p,
    .dhi-page-content .wp-block-column p{
        font-size:18px;
    }

    .dhi-page-content strong,
    .dhi-page-content .wp-block-group strong,
    .dhi-page-content .wp-block-column strong{
        font-size:24px;
    }

    .dhi-footer-bottom{
        flex-direction:column;
        text-align:center;
        gap:10px;
    }
}
/* Additional WordPress templates: single, archive, search, comments, 404 */
.dhi-single-content,
.dhi-archive-content,
.dhi-search-content,
.dhi-error-content{
    max-width:1100px;
}

.dhi-entry-header{
    margin-bottom:28px;
}

.dhi-entry-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    color:#b9c3d0;
    font-size:14px;
    margin:10px 0 18px;
}

.dhi-post-thumbnail{
    margin:0 0 30px;
}

.dhi-post-thumbnail img,
.dhi-post-card-thumbnail img{
    display:block;
    width:100%;
    height:auto;
    border-radius:18px;
}

.dhi-entry-content img,
.dhi-page-content img{
    max-width:100%;
    height:auto;
}

.dhi-post-navigation{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin:44px 0;
    padding-top:26px;
    border-top:1px solid rgba(255,255,255,.16);
}

.dhi-post-navigation a,
.dhi-post-card a,
.dhi-pagination a{
    color:#ffae2d;
    text-decoration:none;
}

.dhi-post-navigation a:hover,
.dhi-post-card a:hover,
.dhi-pagination a:hover{
    text-decoration:underline;
}

.dhi-archive-header{
    margin-bottom:34px;
}

.dhi-archive-description{
    color:#e0e0e0;
    line-height:1.7;
}

.dhi-post-list{
    display:grid;
    gap:24px;
}

.dhi-post-card{
    display:grid;
    grid-template-columns:260px minmax(0, 1fr);
    gap:24px;
    padding:24px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:22px;
}

.dhi-post-card h2{
    margin-top:0;
    margin-bottom:10px;
    font-size:28px;
}

.dhi-entry-excerpt{
    color:#e0e0e0;
    line-height:1.7;
}

.dhi-pagination{
    margin-top:34px;
}

.dhi-comments-area{
    margin-top:50px;
    padding-top:34px;
    border-top:1px solid rgba(255,255,255,.16);
}

.dhi-comments-title{
    margin-bottom:24px;
}

.dhi-comment-list{
    margin:0 0 34px 0;
    padding-left:22px;
}

.dhi-comment-list .comment{
    margin-bottom:22px;
}

.dhi-comments-area input[type="text"],
.dhi-comments-area input[type="email"],
.dhi-comments-area input[type="url"],
.dhi-comments-area textarea{
    width:100%;
    max-width:760px;
    padding:12px 14px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.24);
    background:rgba(255,255,255,.08);
    color:#fff;
}

.dhi-comments-area input[type="submit"],
.dhi-button{
    display:inline-block;
    padding:13px 24px;
    border:0;
    border-radius:999px;
    background:#ffae2d;
    color:#111;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
}

.dhi-error-content{
    text-align:center;
    padding-top:70px;
    padding-bottom:80px;
}

.dhi-error-content h1{
    font-size:86px;
    line-height:1;
    margin-bottom:12px;
}

.dhi-error-content h2{
    font-size:34px;
    margin-bottom:14px;
}

@media(max-width:700px){
    .dhi-post-card{
        grid-template-columns:1fr;
        padding:18px;
    }

    .dhi-post-navigation{
        flex-direction:column;
    }
}

/* Poprawka układu list na stronach RODO / Polityka prywatności.
   Nie opiera się wyłącznie na klasach body WordPressa, bo nie każda instalacja dodaje slug strony do body_class(). */
.dhi-legal-page-main{
    background: var(--dhi-legal-bg-color, #000) !important;
    background-image: none !important;
}

.dhi-legal-page{
    max-width: 980px;
    background: transparent !important;
    color: #fff;
    text-align: left !important;
    padding: 0 24px 56px;
}

.dhi-legal-page article{
    max-width: 900px;
    margin: 0 auto;
    text-align: left !important;
}

.dhi-legal-page h1{
    display: block;
    text-align: center !important;
    margin: 4px auto 44px;
}

.dhi-legal-page h2{
    margin: 46px 0 18px;
    text-align: left !important;
    font-size: clamp(28px, 2.4vw, 38px);
    line-height: 1.25;
    color: #fff;
}

.dhi-legal-page h3{
    margin: 34px 0 14px;
    text-align: left !important;
    font-size: 25px;
    line-height: 1.3;
    color: #fff;
}

.dhi-legal-page p{
    max-width: none;
    margin: 0 0 18px;
    font-size: 18px;
    line-height: 1.72;
    color: #f4f4f4;
    text-align: left !important;
}

.dhi-legal-page ul,
.dhi-legal-page ol{
    max-width: none;
    margin: 0 0 26px 0;
    padding-left: 1.45em;
    text-align: left !important;
    list-style-position: outside;
}

.dhi-legal-page ul{
    list-style: disc;
}

.dhi-legal-page ol{
    list-style: decimal;
}

.dhi-legal-page li{
    margin: 0 0 13px;
    padding-left: .25em;
    font-size: 18px;
    line-height: 1.68;
    color: #f4f4f4;
    text-align: left !important;
}

.dhi-legal-page li ul,
.dhi-legal-page li ol{
    margin: 12px 0 0;
    padding-left: 1.45em;
}

.dhi-legal-page li p{
    display: inline;
    margin: 0;
    font-size: inherit;
    line-height: inherit;
}

.dhi-legal-page strong{
    display: inline;
    margin: 0;
    font-size: inherit;
    line-height: inherit;
    font-weight: 800;
    color: #fff;
    text-shadow: none;
}

.dhi-legal-page a{
    color: #ffb000;
    text-underline-offset: 3px;
}

@media(max-width:700px){
    .dhi-legal-page{
        padding-left: 4px;
        padding-right: 4px;
    }

    .dhi-legal-page p,
    .dhi-legal-page li{
        font-size: 16px;
        line-height: 1.65;
    }
}


/* Mobile layout refinements */
@media(max-width:700px){
    .dhi-header{
        padding-top:16px;
    }

    .dhi-logo img,
    .custom-logo{
        max-height:58px;
    }

    .dhi-site-title{
        font-size:28px;
        letter-spacing:1px;
        line-height:1.15;
    }

    .dhi-hero-bg{
        padding:28px 14px 0;
    }

    .dhi-hero-title{
        padding:22px 20px;
        font-size:30px;
        margin-bottom:22px;
    }

    .dhi-services-grid{
        gap:20px;
    }

    .dhi-service-card{
        padding:26px 20px;
    }

    .dhi-service-card li{
        font-size:21px;
        line-height:1.18;
    }

    .dhi-bottom-claim{
        padding:18px 20px;
        font-size:22px;
        letter-spacing:.4px;
        word-spacing:2px;
    }

    .dhi-line{
        width:100%;
    }
}
