
/* DuTa-Fa page info panels: shared visual language, no blur anywhere on panels. */
.duta-public-page { padding-top: 82px; }
.duta-page-info {
 position:relative; isolation:isolate; display:flex; align-items:center; justify-content:space-between;
 gap:30px; width:min(1480px,calc(100% - 48px)); min-height:250px; box-sizing:border-box;
 margin:0 auto 20px; padding:clamp(25px,4vw,54px); overflow:hidden;
 border:1px solid rgba(206,145,69,.32); border-radius:22px;
 background:linear-gradient(112deg,rgba(42,27,15,.82),rgba(24,16,10,.76));
 box-shadow:0 18px 48px rgba(0,0,0,.14);
 transform:perspective(1400px) rotateX(-1.4deg); transform-origin:top center;
}
.duta-page-info::after {
 content:""; position:absolute; z-index:-1; right:-3%; bottom:-112px; width:48%; height:200px;
 background:repeating-linear-gradient(78deg,rgba(190,132,62,.075) 0 1px,transparent 1px 19px);
 transform:rotate(-5deg); pointer-events:none;
}
.duta-page-info-copy { position:relative; z-index:1; max-width:800px; min-width:0; }
.duta-page-info-eyebrow { display:inline-flex; align-items:center; gap:9px; color:#d7a15b; font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.duta-page-info h1 { margin:7px 0 6px; color:#e5b66f; font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(2.1rem,4vw,3.45rem); font-weight:600; line-height:1; letter-spacing:-.025em; }
.duta-page-info p { max-width:680px; margin:0; color:#d0c1af; font-size:clamp(.92rem,1.15vw,1.04rem); line-height:1.55; }
.duta-page-info-mark { position:relative; z-index:1; display:grid; place-items:center; flex:0 0 clamp(100px,15vw,190px); width:clamp(100px,15vw,190px); aspect-ratio:1; color:rgba(213,157,84,.7); }
.duta-page-info-mark span { position:absolute; font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(2.8rem,5vw,5rem); font-weight:700; letter-spacing:-.1em; }
.duta-page-info-mark svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:.55; opacity:.45; overflow:visible; }
.duta-public-content-section { padding:0 0 44px; }
.duta-public-content-section > .container { width:min(1480px,calc(100% - 48px)); max-width:none; padding-inline:0; }
body.subpage-background main.duta-public-page .duta-public-content-section .main-content-box { width:100%; box-sizing:border-box; background:rgba(31,21,15,.84); -webkit-backdrop-filter:none; backdrop-filter:none; }

/* Remove blur from public content panels, including the homepage. */
body main.duta-public-page .main-content-box, body main.prices-page .prices-main-panel, body .hero-content-box,
body .hero-primary-panel, body .hero-testimonials-panel, body .hero-testimonials-panel .testimonial-card {
 -webkit-backdrop-filter:none; backdrop-filter:none;
}
body.homepage .hero-primary-panel, body.homepage .hero-testimonials-panel { background:rgba(31,21,15,.84); }
body main.duta-public-page .main-content-box, body main.prices-page .prices-main-panel { background-color:rgba(31,21,15,.84); }

/* Strong centered shadow behind text and numerals throughout the public site. */
body :is(h1,h2,h3,h4,h5,h6,p,a,span,strong,em,small,label,li,dt,dd,button,input,textarea,select,option,blockquote,figcaption,th,td,legend) {
 text-shadow:0 0 7px rgba(0,0,0,.92),0 0 2px rgba(0,0,0,.95);
}

/* Prices already has a page heading: give it the same right-hand DF motif. */
.prices-page-heading {
 position:relative; isolation:isolate; overflow:hidden;
 width:100%; max-width:none; box-sizing:border-box;
 padding:clamp(18px,2.2vw,29px) clamp(20px,3vw,42px);
 margin:0 0 24px; border:1px solid rgba(206,145,69,.42); border-radius:13px;
 background:linear-gradient(112deg,rgba(42,27,15,.84),rgba(24,16,10,.78));
}
 .prices-page-heading::after { content:none; }
.prices-page-heading .duta-page-info-mark { position:absolute; right:clamp(25px,4vw,54px); top:50%; transform:translateY(-50%); }

.prices-page-heading h2 { position:relative; z-index:1; max-width:75%; }
.prices-page-heading .prices-eyebrow { position:relative; z-index:1; }
.prices-page > .prices-section { padding-top:0; }
.prices-page .prices-main-panel { width:min(1480px,calc(100% - 48px)); max-width:none; box-sizing:border-box; margin-inline:auto; background-color:rgba(31,21,15,.84); -webkit-backdrop-filter:none; backdrop-filter:none; }
.prices-page .prices-section > .container { width:100%; max-width:none; padding-inline:0; }

@media(max-width:760px) {
 .duta-public-page { padding-top:88px; }
 .duta-page-info { width:calc(100% - 24px); min-height:190px; gap:10px; margin-bottom:14px; padding:20px 15px; border-radius:16px; transform:perspective(1000px) rotateX(-1deg); }
 .duta-page-info-copy { flex:1 1 auto; }
 .duta-page-info-eyebrow { font-size:.62rem; letter-spacing:.11em; }
 .duta-page-info h1 { margin-top:6px; font-size:clamp(1.7rem,6.5vw,2.35rem); line-height:1.02; }
 .duta-page-info p { font-size:.84rem; line-height:1.5; }
 .duta-page-info-mark { flex-basis:clamp(76px,22vw,100px); width:clamp(76px,22vw,100px); align-self:center; margin-top:0; }
 .duta-public-content-section { padding-bottom:26px; }
 .duta-public-content-section > .container { width:calc(100% - 24px); max-width:none; padding-inline:0; }
 body.subpage-background main.duta-public-page .duta-public-content-section .main-content-box { padding:18px 14px; }
 .prices-page .prices-main-panel { width:calc(100% - 24px); padding:15px 11px; }
 .prices-page-heading { width:100%; max-width:none; min-height:190px; box-sizing:border-box; padding:20px 15px; border-radius:16px; }
 .prices-page-heading h2 { max-width:72%; }
 .prices-page-heading .duta-page-info-mark { right:14px; width:clamp(64px,20vw,84px); flex-basis:clamp(64px,20vw,84px); }
}
@media(max-width:380px) {
 .duta-page-info { padding:18px 12px; gap:5px; }
 .duta-page-info-mark { flex-basis:64px; width:64px; }
 .duta-page-info-eyebrow { font-size:.57rem; }
}

/* Final page-specific overrides: no blur, equal panel widths, denser info header. */
body.subpage-background main.duta-public-page .duta-public-content-section .main-content-box,
body main.prices-page .prices-main-panel {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background-color: rgba(31, 21, 15, .84);
}
body main.duta-public-page .duta-page-info {
    background: linear-gradient(112deg, rgba(42, 27, 15, .84), rgba(24, 16, 10, .78));
}

/* Keep all public content panels crisp, including the homepage panels. */
body main .main-content-box,
body main .prices-main-panel,
body.homepage .hero-content-box,
body.homepage .hero-primary-panel,
body.homepage .hero-testimonials-panel,
body.homepage .hero-testimonials-panel .testimonial-card {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
body.homepage .main-content-box,
body main.duta-public-page .main-content-box {
    background-color: rgba(31, 21, 15, .84);
}


/* Compact info panels for Bemutatkozó, Akciók, Partnereink and Kontakt. */
body main.duta-public-page .duta-page-info {
    min-height: 0;
    padding-block: clamp(12px, 1.5vw, 20px);
}
body main.duta-public-page .duta-page-info h1 {
    margin-block: 5px;
    line-height: 1.02;
}
body main.duta-public-page .duta-page-info p {
    line-height: 1.42;
}
@media (max-width: 760px) {
    body main.duta-public-page .duta-page-info {
        padding-block: 12px;
    }
    body main.duta-public-page .duta-page-info-mark {
        flex-basis: 58px;
        width: 58px;
        margin-top: 7px;
    }
}


/* Uploaded panel logos sit on the lower edge, like a mark growing from the board. */
.duta-page-info-mark.has-custom-image {
    align-self: stretch;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    aspect-ratio: auto;
    min-height: 150px;
    margin-bottom: calc(-1 * clamp(25px, 4vw, 54px));
    overflow: visible;
}
.duta-page-info-mark.has-custom-image img {
    display: block;
    width: 100%;
    max-width: 190px;
    max-height: 190px;
    height: auto;
    object-fit: contain;
    object-position: center bottom;
}
.duta-gallery-intro-mark.has-custom-image { align-self: stretch; display:flex; align-items:flex-end; justify-content:center; aspect-ratio:auto; min-height:150px; margin-bottom:calc(-1 * clamp(25px, 4vw, 54px)); }
.duta-gallery-intro-mark.has-custom-image img { display:block; width:100%; max-width:190px; max-height:190px; height:auto; object-fit:contain; object-position:center bottom; }
@media (max-width:760px) {
 .duta-page-info-mark.has-custom-image, .duta-gallery-intro-mark.has-custom-image { min-height:95px; margin-bottom:-20px; }
 .duta-page-info-mark.has-custom-image img, .duta-gallery-intro-mark.has-custom-image img { max-width:92px; max-height:110px; }
}


/* CONTENT-DRIVEN INFO PANEL: the logo is decorative and must never determine or shrink panel height. */
body main.duta-public-page .duta-page-info {
    display: block;
    width: min(1480px, calc(100% - 48px));
    min-height: 0;
    height: auto;
    padding: clamp(22px, 3vw, 38px) clamp(24px, 3.5vw, 48px);
    overflow: hidden;
    transform: none;
}
body main.duta-public-page .duta-page-info-copy {
    width: 100%;
    max-width: min(800px, calc(100% - 230px));
    min-width: 0;
}
body main.duta-public-page .duta-page-info-mark {
    position: absolute;
    top: 50%;
    right: clamp(20px, 3.5vw, 48px);
    width: clamp(105px, 15vw, 190px);
    height: clamp(105px, 15vw, 190px);
    transform: translateY(-50%);
    flex: none;
}
body main.duta-public-page .duta-page-info-description {
    overflow-wrap: anywhere;
}
body main.duta-public-page .duta-page-info-description p {
    max-width: 100%;
    margin: 0 0 .45em;
}
body main.duta-public-page .duta-page-info-description p:last-child {
    margin-bottom: 0;
}
body main.duta-public-page .duta-page-info-mark.has-custom-image {
    position: absolute;
    right: clamp(20px, 3.5vw, 48px);
    bottom: 0;
    width: clamp(105px, 15vw, 190px);
    height: clamp(105px, 15vw, 190px);
    min-height: 0;
    margin: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    aspect-ratio: auto;
    overflow: hidden;
}
body main.duta-public-page .duta-page-info-mark.has-custom-image img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
    object-position: center bottom;
}
@media (max-width: 760px) {
    body main.duta-public-page .duta-page-info {
        width: calc(100% - 24px);
        padding: 18px 15px;
    }
    body main.duta-public-page .duta-page-info-copy {
        max-width: calc(100% - 70px);
    }
    body main.duta-public-page .duta-page-info-mark {
        right: 10px;
        width: 64px;
        height: 82px;
    }
    body main.duta-public-page .duta-page-info-mark.has-custom-image {
        top: auto;
        bottom: 0;
        transform: none;
    }
    body main.duta-public-page .duta-page-info h1 {
        overflow-wrap: anywhere;
        font-size: clamp(1.55rem, 6vw, 2.25rem);
        line-height: 1.05;
    }
}
@media (max-width: 380px) {
    body main.duta-public-page .duta-page-info-copy { max-width: calc(100% - 56px); }
    body main.duta-public-page .duta-page-info-mark { width: 50px; height: 68px; right: 7px; }
    body main.duta-public-page .duta-page-info-mark.has-custom-image { top: auto; bottom: 0; transform: none; }
}


/* Shared fixed-size INFO PANEL system: Partners is the reference panel. */
body main.duta-public-page .duta-page-info, body main.prices-page .prices-page-heading.duta-page-info {
 display:flex; align-items:center; justify-content:space-between; position:relative; box-sizing:border-box;
 width:min(1480px,calc(100% - 48px)); height:250px; min-height:250px; max-height:250px;
 margin:0 auto 20px; padding:28px clamp(28px,3.5vw,48px); gap:24px; overflow:hidden; transform:none;
}
body main.duta-public-page .duta-page-info-copy, body main.prices-page .prices-page-heading .duta-page-info-copy {
 position:relative; z-index:2; flex:1 1 auto; width:auto; max-width:calc(100% - 230px); min-width:0; overflow:hidden;
}
body main.duta-public-page .duta-page-info h1, body main.prices-page .prices-page-heading h1 {
 display:-webkit-box; max-width:100%; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2;
 font-size:clamp(2rem,3.5vw,3.35rem); line-height:1.02; overflow-wrap:anywhere; margin:7px 0;
}
body main.duta-public-page .duta-page-info-description, body main.duta-public-page .duta-page-info-copy > p, body main.prices-page .prices-page-heading .prices-info-description {
 display:-webkit-box; max-width:100%; max-height:4.35em; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow-wrap:anywhere; line-height:1.45;
}
body main.duta-public-page .duta-page-info-description p, body main.prices-page .prices-page-heading .prices-info-description p { max-width:100%; margin:0 0 .3em; line-height:1.45; }
body main.duta-public-page .duta-page-info-mark, body main.prices-page .prices-page-heading .duta-page-info-mark {
 position:absolute; z-index:1; top:auto; right:clamp(24px,3.5vw,48px); bottom:0; display:flex; align-items:flex-end; justify-content:center;
 flex:0 0 190px; width:190px; height:190px; min-height:0; margin:0; aspect-ratio:auto; transform:none; overflow:hidden;
}
body main.duta-public-page .duta-page-info-mark img, body main.prices-page .prices-page-heading .duta-page-info-mark img { display:block; width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; object-position:center bottom; }
body main.duta-public-page .duta-page-info-mark span, body main.prices-page .prices-page-heading .duta-page-info-mark span { bottom:22px; }
/* Gallery has separate markup but uses the exact same fixed panel size. */
.duta-gallery-intro { display:flex; align-items:center; box-sizing:border-box; height:250px; min-height:250px; max-height:250px; padding:28px clamp(28px,3.5vw,48px); gap:24px; overflow:hidden; transform:none; }
.duta-gallery-intro-copy { flex:1 1 auto; width:auto; max-width:calc(100% - 230px); min-width:0; overflow:hidden; }
.duta-gallery-intro h1 { display:-webkit-box; max-width:100%; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:clamp(2rem,3.5vw,3.35rem); line-height:1.02; overflow-wrap:anywhere; margin:7px 0; }
.duta-gallery-intro-description { display:-webkit-box; max-height:4.2em; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow-wrap:anywhere; color:#c8bcae; font-size:clamp(.92rem,1.15vw,1.04rem); line-height:1.4; }
.duta-gallery-intro-description p { margin:0 0 .25em; line-height:1.4; }
.duta-gallery-stats { margin-top:10px; }
.duta-gallery-intro-mark { position:absolute; right:clamp(24px,3.5vw,48px); bottom:0; display:flex; align-items:flex-end; justify-content:center; width:190px; height:190px; flex:none; aspect-ratio:auto; overflow:hidden; }
.duta-gallery-intro-mark img { display:block; width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; object-position:center bottom; }
.duta-gallery-intro-mark span { bottom:22px; }
@media(max-width:760px) {
 body main.duta-public-page .duta-page-info, body main.prices-page .prices-page-heading.duta-page-info, .duta-gallery-intro { width:calc(100% - 24px); height:190px; min-height:190px; max-height:190px; margin-bottom:14px; padding:17px 15px; gap:8px; border-radius:15px; }
 body main.duta-public-page .duta-page-info-copy, body main.prices-page .prices-page-heading .duta-page-info-copy, .duta-gallery-intro-copy { max-width:calc(100% - 76px); }
 body main.duta-public-page .duta-page-info-eyebrow, .duta-gallery-intro .duta-eyebrow { font-size:.57rem; letter-spacing:.09em; gap:5px; }
 body main.duta-public-page .duta-page-info h1, body main.prices-page .prices-page-heading h1, .duta-gallery-intro h1 { margin:5px 0; font-size:clamp(1.45rem,5.8vw,2rem); line-height:1.02; -webkit-line-clamp:2; }
 body main.duta-public-page .duta-page-info-description, body main.prices-page .prices-page-heading .prices-info-description, .duta-gallery-intro-description { max-height:3.05em; font-size:.78rem; line-height:1.38; -webkit-line-clamp:2; }
 body main.duta-public-page .duta-page-info-mark, body main.prices-page .prices-page-heading .duta-page-info-mark, .duta-gallery-intro-mark { right:8px; bottom:0; width:76px; height:100px; min-height:0; margin:0; transform:none; }
 body main.duta-public-page .duta-page-info-mark span, body main.prices-page .prices-page-heading .duta-page-info-mark span, .duta-gallery-intro-mark span { bottom:10px; font-size:2rem; }
 .duta-gallery-stats { margin-top:6px; font-size:.68rem; gap:9px; } .duta-gallery-stats strong { font-size:.8rem; }
 body main.prices-page .prices-page-heading h2 { max-width:calc(100% - 76px); }
}
@media(max-width:380px) {
 body main.duta-public-page .duta-page-info, body main.prices-page .prices-page-heading.duta-page-info, .duta-gallery-intro { padding-inline:12px; }
 body main.duta-public-page .duta-page-info-copy, body main.prices-page .prices-page-heading .duta-page-info-copy, .duta-gallery-intro-copy { max-width:calc(100% - 61px); }
 body main.duta-public-page .duta-page-info-mark, body main.prices-page .prices-page-heading .duta-page-info-mark, .duta-gallery-intro-mark { right:5px; width:60px; height:84px; }
}


/* Árak: a felső INFO PANEL pontosan az alsó árlista-panel szélességét vegye fel.
   Mobilon a meglévő, külön reszponzív szabályok maradnak érvényben. */
@media (min-width: 761px) {
    body main.prices-page .prices-page-heading.duta-page-info {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}
