/*
 * DSD Dependable Feature — structural adapter only.
 *
 * Visual foundations (font families, CTA typography, framed button behavior,
 * responsive Caesarstone rules) are loaded from the owner's exact supplied
 * common-assets_obN9.css + tmp-front-page_obN9.css scoped bundle.
 * This file only maps those styles into Gutenberg / DSD Builder wrappers and
 * exposes the editable responsive values produced by the plugin settings.
 */

.dsd-df-block,
.dsd-df-native-block {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.dsd-dependable-feature-native {
    max-width: none !important;
    overflow: visible !important;
}

.dsd-df,
.dsd-df *,
.dsd-df *::before,
.dsd-df *::after,
.dsd-df-native,
.dsd-df-native *,
.dsd-df-native *::before,
.dsd-df-native *::after {
    box-sizing: border-box;
}

/* Gutenberg / PHP renderer. */
.dsd-df {
    position: relative;
    left: auto;
    display: block;
    clear: both;
    width: 100vw;
    max-width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding: 0;
    overflow: visible;
    isolation: isolate;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.dsd-df__frame {
    position: relative;
    display: flex;
    margin-right: auto;
    margin-left: auto;
    border-style: solid;
    background-clip: padding-box;
    overflow: hidden;
}

.dsd-df__inner {
    display: grid;
    width: 100%;
    margin: auto;
}

.dsd-df__content,
.dsd-df__media {
    width: 100%;
    min-width: 0;
    margin: 0;
}

/* Reset only declarations from the source CTA that conflict with this
 * two-tile reference composition. Values themselves still come from the
 * source-derived responsive settings. */
.dsd-df__description {
    margin-right: 0;
    margin-left: 0;
}

.dsd-df__arrow {
    margin-left: 0;
    overflow: visible;
}

.dsd-df__copy {
    display: none;
    flex-direction: column;
    width: 100%;
}

.dsd-df__title,
.dsd-df__description {
    width: 100%;
    padding: 0;
    border: 0;
}

.dsd-df__title {
    margin: 0;
    text-wrap: balance;
}

.dsd-df__title em {
    font-style: italic;
    font-weight: inherit;
}

.dsd-df__description {
    margin-top: 0;
    text-wrap: pretty;
}

.dsd-df__description p { margin: 0; }

.dsd-df__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    min-height: 44px;
    margin: 0;
    border-style: solid;
    text-decoration: none;
    white-space: normal;
    cursor: pointer;
}

.dsd-df__button:hover,
.dsd-df__button:focus,
.dsd-df__button:active,
.dsd-df__button:visited { text-decoration: none; }

.dsd-df__button:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

.dsd-df__arrow {
    display: inline-block;
    flex: 0 0 auto;
    font-size: 1.25em;
    font-weight: 400;
    line-height: .8;
}

.dsd-df__media {
    display: grid;
    align-self: center;
}

.dsd-df__figure {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #eeeeec;
}

.dsd-df__figure:only-child { grid-column: 1 / -1; }

.dsd-df__image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    border: 0;
}

.dsd-df__empty-media {
    display: grid;
    min-height: 220px;
    grid-column: 1 / -1;
    place-items: center;
    padding: 24px;
    border: 1px dashed #b9b9b9;
    color: #555;
    font: 500 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    text-align: center;
}

/* Native DSD Builder wrapper mapping. The !important flags only neutralize
 * builder wrapper sizing/margins; all visible values come from plugin vars. */
.dsd-df-native {
    position: relative !important;
    left: auto !important;
    display: block !important;
    clear: both;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow: visible !important;
    isolation: isolate;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.dsd-df-native > .h-section-grid-container {
    position: relative;
    display: flex !important;
    align-items: center;
    width: var(--dsd-df-section-width, 100%) !important;
    max-width: var(--dsd-df-section-max-width, 3000px) !important;
    min-height: var(--dsd-df-section-min-height, 0) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: var(--dsd-df-padding-top, 71px) var(--dsd-df-padding-right, 0) var(--dsd-df-padding-bottom, 71px) var(--dsd-df-padding-left, 0) !important;
    overflow: hidden;
    border: var(--dsd-df-border-width, 0) solid var(--dsd-df-border-color, #dedede) !important;
    border-radius: var(--dsd-df-border-radius, 0) !important;
    background: var(--dsd-df-background, #fff) !important;
}

.dsd-df-native .dsd-df-native__layout {
    width: 100% !important;
    max-width: var(--dsd-df-inner-max-width, 1466px) !important;
    margin: auto !important;
    padding: 0 !important;
}

.dsd-df-native .dsd-df-native__layout > .h-row {
    display: grid !important;
    grid-template-columns: var(--dsd-df-layout-columns, minmax(0,42fr) minmax(0,58fr)) !important;
    column-gap: var(--dsd-df-column-gap, 120px) !important;
    row-gap: var(--dsd-df-column-gap, 120px) !important;
    align-items: var(--dsd-df-vertical-align, center) !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.dsd-df-native .dsd-df-native__layout > .h-row > .h-column-container,
.dsd-df-native .dsd-df-native__images > .h-row > .h-column-container {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: initial !important;
}

.dsd-df-native .dsd-df-native__layout > .h-row > .h-column-container:nth-child(1) {
    order: var(--dsd-df-content-order, 1);
    justify-self: var(--dsd-df-content-align, start);
}
.dsd-df-native .dsd-df-native__layout > .h-row > .h-column-container:nth-child(2) {
    order: var(--dsd-df-media-order, 2);
    justify-self: var(--dsd-df-media-align, start);
}

.dsd-df-native .dsd-df-native__content,
.dsd-df-native .dsd-df-native__media,
.dsd-df-native .dsd-df-native__content > .h-column__inner,
.dsd-df-native .dsd-df-native__media > .h-column__inner,
.dsd-df-native .dsd-df-native__content > .h-column__inner > .h-column__content,
.dsd-df-native .dsd-df-native__media > .h-column__inner > .h-column__content {
    width: 100% !important;
    min-width: 0;
    min-height: 0;
    margin: 0 !important;
    padding: 0 !important;
}

.dsd-df-native .dsd-df-native__content {
    max-width: var(--dsd-df-content-max-width, 430px) !important;
    transform: translate(var(--dsd-df-content-offset-x, 0), var(--dsd-df-content-offset-y, -34px));
    text-align: var(--dsd-df-text-align, left) !important;
}

.dsd-df-native .dsd-df-native__media {
    max-width: var(--dsd-df-media-max-width, 660px) !important;
    transform: translate(var(--dsd-df-media-offset-x, 0), var(--dsd-df-media-offset-y, 0));
}

.dsd-df-native .dsd-df-native__title {
    width: 100%;
    max-width: var(--dsd-df-title-max-width, 430px) !important;
    margin: 0 0 var(--dsd-df-title-margin-bottom, 28px) !important;
    padding: 0 !important;
    color: var(--dsd-df-title-color, #0b0b0b) !important;
    font-family: var(--dsd-df-title-font, "Publico Banner", Georgia, "Times New Roman", serif) !important;
    font-size: var(--dsd-df-title-size, 51px) !important;
    font-weight: var(--dsd-df-title-weight, 400) !important;
    line-height: var(--dsd-df-title-line-height, .98) !important;
    letter-spacing: var(--dsd-df-title-letter-spacing, -2.1px) !important;
    text-align: inherit !important;
    text-wrap: balance;
}

.dsd-df-native .dsd-df-native__title h1,
.dsd-df-native .dsd-df-native__title h2,
.dsd-df-native .dsd-df-native__title h3,
.dsd-df-native .dsd-df-native__title h4,
.dsd-df-native .dsd-df-native__title h5,
.dsd-df-native .dsd-df-native__title h6 {
    margin: 0 !important;
    color: inherit !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    text-align: inherit !important;
}
.dsd-df-native .dsd-df-native__title em { font-style: italic; font-weight: inherit; }

.dsd-df-native .dsd-df-native__description {
    width: 100%;
    max-width: var(--dsd-df-description-max-width, 425px) !important;
    margin: 0 0 var(--dsd-df-description-margin-bottom, 58px) !important;
    padding: 0 !important;
    color: var(--dsd-df-description-color, #1f1f1f) !important;
    font-family: var(--dsd-df-body-font, "Frutiger LT Pro", Arial, Helvetica, sans-serif) !important;
    font-size: var(--dsd-df-description-size, 22px) !important;
    font-weight: var(--dsd-df-description-weight, 400) !important;
    line-height: var(--dsd-df-description-line-height, 1.55) !important;
    letter-spacing: var(--dsd-df-description-letter-spacing, 0) !important;
    text-align: inherit !important;
    text-wrap: pretty;
}
.dsd-df-native .dsd-df-native__description > div,
.dsd-df-native .dsd-df-native__description p {
    margin: 0 !important;
    color: inherit !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    text-align: inherit !important;
}

.dsd-df-native .dsd-df-native__button-group,
.dsd-df-native .dsd-df-native__button-group > .h-x-container-inner {
    display: flex !important;
    align-items: center;
    justify-content: var(--dsd-df-button-align, flex-start) !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}
.dsd-df-native .dsd-df-native__button-group .h-button__outer { margin: 0 !important; padding: 0 !important; }

.dsd-df-native .dsd-df-native__button {
    display: inline-flex !important;
    align-items: center;
    justify-content: space-between;
    width: var(--dsd-df-button-width, 369px) !important;
    max-width: 100%;
    min-height: 44px;
    margin: 0 !important;
    padding: var(--dsd-df-button-padding-y, 18px) var(--dsd-df-button-padding-x, 32px) !important;
    border: var(--dsd-df-button-border-width, 2px) solid var(--dsd-df-button-border-color, #111) !important;
    border-radius: var(--dsd-df-button-radius, 4px) !important;
    background: var(--dsd-df-button-background, #fff) !important;
    box-shadow: none !important;
    color: var(--dsd-df-button-text-color, #111) !important;
    font-family: var(--dsd-df-button-font, "Frutiger LT Pro", Arial, Helvetica, sans-serif) !important;
    font-size: var(--dsd-df-button-size, 19px) !important;
    font-weight: var(--dsd-df-button-weight, 400) !important;
    line-height: var(--dsd-df-button-line-height, 1.2) !important;
    letter-spacing: var(--dsd-df-button-letter-spacing, 2.4px) !important;
    text-decoration: none !important;
}
.dsd-df-native .dsd-df-native__button > span {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--dsd-df-button-arrow-gap, 12px);
    width: 100%;
}
.dsd-df-native .dsd-df-native__button > span::after {
    display: inline-block;
    content: "\2192";
    font-size: 1.25em;
    font-weight: 400;
    line-height: .8;
}
.dsd-df-native .dsd-df-native__button:hover,
.dsd-df-native .dsd-df-native__button:focus-visible {
    border-color: var(--dsd-df-button-border-color, #111) !important;
    background: var(--dsd-df-button-hover-background, #111) !important;
    color: var(--dsd-df-button-hover-text-color, #fff) !important;
}

.dsd-df-native .dsd-df-native__images,
.dsd-df-native .dsd-df-native__images > .h-row {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.dsd-df-native .dsd-df-native__images > .h-row {
    display: grid !important;
    grid-template-columns: var(--dsd-df-image-columns, minmax(0,1fr) minmax(0,1fr)) !important;
    gap: var(--dsd-df-image-gap, 23px) !important;
}
.dsd-df-native .dsd-df-native__images > .h-row > .h-column-container:only-child { grid-column: 1 / -1; }

.dsd-df-native .dsd-df-native__figure,
.dsd-df-native .dsd-df-native__figure > .h-column__inner,
.dsd-df-native .dsd-df-native__figure > .h-column__inner > .h-column__content {
    width: 100% !important;
    height: var(--dsd-df-image-height, 517px) !important;
    min-height: 0;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border-radius: var(--dsd-df-image-radius, 0) !important;
    background: #eeeeec;
}
.dsd-df-native .dsd-df-native__image,
.dsd-df-native .dsd-df-native__image > .h-image__frame-container-outer,
.dsd-df-native .dsd-df-native__image .h-image__frame-container {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.dsd-df-native .dsd-df-native__image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border: 0;
    object-fit: var(--dsd-df-image-fit, cover) !important;
}
.dsd-df-native .dsd-df-native__image--one img { object-position: var(--dsd-df-image-one-position, 50% 50%) !important; }
.dsd-df-native .dsd-df-native__image--two img { object-position: var(--dsd-df-image-two-position, 50% 50%) !important; }

@media (prefers-reduced-motion: reduce) {
    .dsd-df__button,
    .dsd-df-native .dsd-df-native__button { transition: none; }
}

/* Higher-specificity source resets for the direct renderer. */
.dsd-df .dsd-df__media.ct-assets { margin-right: 0; margin-left: 0; }
.dsd-df .dsd-df__description.subtext { margin-right: 0; margin-left: 0; }
.dsd-df .dsd-df__button .dsd-df__arrow.arrow { margin-left: 0; overflow: visible; }

/* 1.2.5 — the dsd-studio theme injects clearfix ::before/::after (display:table) into containers; inside the grid/flex layout they become invisible first items and push the text into column 2 and the images into a second row. Kill them here. */
.dsd-df .dsd-df__inner::before,.dsd-df .dsd-df__inner::after,.dsd-df .dsd-df__frame::before,.dsd-df .dsd-df__frame::after,.dsd-df .dsd-df__content::before,.dsd-df .dsd-df__content::after,.dsd-df .dsd-df__copy::before,.dsd-df .dsd-df__copy::after{content:none!important;display:none!important}
/* 1.2.6 — explicit grid placement: whatever the theme injects into the grid, the text stays in column 1 and the images in column 2 on desktop */
@media (min-width:1025px){.dsd-df .dsd-df__inner>.dsd-df__content{grid-column:1;grid-row:1}.dsd-df .dsd-df__inner>.dsd-df__media{grid-column:2;grid-row:1}}
.dsd-df .dsd-df__button{text-transform:none!important;justify-content:center!important}

/* ===== 1.2.7 — ORIGINAL Caesarstone section (.image-paragraph) from the owner's source zip: tmp-front-page.css + the .ratio helper from common-assets.css, copied verbatim, only prefixed with .dsd-df for scoping ===== */
.dsd-df .ratio,.dsd-df .ratio>*{position:relative;width:100%}.dsd-df .ratio::before{display:block;padding-top:var(--aspect-ratio);content:""}.dsd-df .ratio>*{position:absolute;top:0;left:0;height:100%}
.dsd-df .image-paragraph{margin-block:70px}@media (min-width:768px){.dsd-df .image-paragraph{margin-block:120px}}@media (min-width:992px){.dsd-df .image-paragraph{display:grid;grid-template-columns:auto 1fr;grid-template-rows:repeat(3, min-content);column-gap:200px}}.dsd-df .image-paragraph-title{font-weight:300;font-size:28px;line-height:1.07;margin-bottom:20px;font-family:"Publico Banner", "Frutiger LT Pro", "Narkiss Tam", sans-serif}@media (min-width:768px){.dsd-df .image-paragraph-title{font-size:42px;margin-top:27px}}.dsd-df .image-paragraph .content{font-weight:300;line-height:1.5;margin-bottom:30px}@media (min-width:768px){.dsd-df .image-paragraph .content{margin-bottom:50px;font-size:20px}}@media (min-width:768px){.dsd-df .image-paragraph .content-wrapper{max-width:400px}}.dsd-df .image-paragraph .ratio{--aspect-ratio: calc(453 / 577 * 100%);margin-bottom:20px}@media (min-width:992px){.dsd-df .image-paragraph .ratio{margin-bottom:0;max-width:576px}}.dsd-df .image-paragraph .ratio:after{content:'';position:absolute;top:0;left:50%;transform:translate(-50%, 0);height:calc(100% + 2px);background-color:white;width:12px}@media (min-width:992px){.dsd-df .image-paragraph .ratio:after{width:20px}}.dsd-df .image-paragraph .ratio .icon{width:25%;max-width:120px;height:unset;top:50%;left:calc(75% + 5px);transform:translate(-50%, -50%)}.dsd-df .image-paragraph .ratio.desktop{display:none}@media (min-width:992px){.dsd-df .image-paragraph .ratio.desktop{display:block}}@media (min-width:992px){.dsd-df .image-paragraph .ratio:not(.desktop){display:none}}
/* two image slots inside the original .ratio box: left half / right half; the original ::after draws the 20px white divider */
.dsd-df .dsd-df__media.ratio>.dsd-df__figure{position:absolute!important;top:0!important;height:100%!important;width:50%!important;margin:0;overflow:hidden}
.dsd-df .dsd-df__media.ratio>.dsd-df__figure--one{left:0!important}
.dsd-df .dsd-df__media.ratio>.dsd-df__figure--two{left:auto!important;right:0!important}
.dsd-df .dsd-df__media.ratio>.dsd-df__figure .dsd-df__image{width:100%;height:100%;object-fit:cover}
@media (min-width:992px){.dsd-df .dsd-df__inner.image-paragraph{margin-block:0}.dsd-df .dsd-df__media.ratio{display:block!important}.dsd-df .dsd-df__inner.image-paragraph>.dsd-df__content{grid-column:1;grid-row:1}.dsd-df .dsd-df__inner.image-paragraph>.dsd-df__media{grid-column:2;grid-row:1;align-self:center}}
/* the same ratio box serves every device (the original swaps in a second, mobile-only image; this block has one) */
.dsd-df .dsd-df__media.ratio.desktop{display:block!important}
