/* STYLE-02 1.0 — Мягкая геометрия фарфора.
   Scope: the DejaVu storefront only. No DOM writes; no form/search/gallery behavior changes.
   Full-width architecture stays straight. Rounded surfaces never wrap the entire native gallery.
   FiboSearch: dropdowns/overlay are portaled outside .dj-header-shell — scope to body.dj-modular. */

/* 1. Search as ONE continuous control: no two capsules, no clipping wrapper. */
body.dj-modular .dj-search .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
 border-radius:var(--dj-radius-search);border-width:var(--dj-line-width);box-shadow:none;
}
body.dj-modular .dj-search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
 border-radius:0 var(--dj-radius-search) var(--dj-radius-search) 0;box-shadow:none;
}
body.dj-modular .dj-search .dgwt-wcas-search-form,
body.dj-modular .dj-search .dgwt-wcas-sf-wrapp {border-radius:var(--dj-radius-search)}
body.dj-modular .dj-search>form {border-radius:var(--dj-radius-search)}
body.dj-modular .dj-search>form input[type=search] {border-radius:var(--dj-radius-search) 0 0 var(--dj-radius-search)}
body.dj-modular .dj-search>form button {border-radius:0 var(--dj-radius-search) var(--dj-radius-search) 0}

/* 2. Live search dropdown, images, loading/empty/selected states. Position/size remain Fibo's. */
body.dj-modular .dgwt-wcas-suggestions-wrapp {
 border:var(--dj-line-width) solid var(--dj-color-line);border-radius:var(--dj-radius-panel);
 background:var(--dj-color-paper);color:var(--dj-color-ink);box-shadow:var(--dj-shadow-floating);
 font-family:var(--dj-font-body);
}
body.dj-modular .dgwt-wcas-suggestion {
 border-bottom-color:var(--dj-color-line);border-bottom-width:var(--dj-line-width);
 color:var(--dj-color-body);font-family:var(--dj-font-body);text-decoration:none;
}
body.dj-modular .dgwt-wcas-suggestion:first-child {border-top-left-radius:var(--dj-radius-panel);border-top-right-radius:var(--dj-radius-panel)}
body.dj-modular .dgwt-wcas-suggestion:last-child {border-bottom-left-radius:var(--dj-radius-panel);border-bottom-right-radius:var(--dj-radius-panel)}
body.dj-modular .dgwt-wcas-suggestion.dgwt-wcas-suggestion-selected,
body.dj-modular .dgwt-wcas-suggestion:hover {background:var(--dj-color-warm)}
body.dj-modular .dgwt-wcas-suggestion .dgwt-wcas-st,
body.dj-modular .dgwt-wcas-suggestion .dgwt-wcas-sp {font-family:var(--dj-font-body);color:var(--dj-color-ink);font-weight:400;line-height:1.45}
body.dj-modular .dgwt-wcas-suggestion strong {font-weight:600}
body.dj-modular .dgwt-wcas-suggestion .dgwt-wcas-sku,
body.dj-modular .dgwt-wcas-suggestion .dgwt-wcas-sd {color:var(--dj-color-muted);font-size:var(--dj-text-caption);line-height:1.5}
body.dj-modular .dgwt-wcas-suggestion .dgwt-wcas-si img {border-radius:var(--dj-radius-thumbnail);border-color:var(--dj-color-line)}
body.dj-modular .dgwt-wcas-suggestion.dgwt-wcas-suggestion-more {text-transform:none;letter-spacing:0;color:var(--dj-color-accent);min-height:44px}
body.dj-modular .dgwt-wcas-suggestion-nores {color:var(--dj-color-body);font:400 var(--dj-text-ui)/1.6 var(--dj-font-body)}
body.dj-modular .dgwt-wcas-suggestion-nores p {font:400 var(--dj-text-body)/1.6 var(--dj-font-body)}
body.dj-modular .dgwt-wcas-suggestion-nores a {color:var(--dj-color-accent);text-underline-offset:.2em}
body.dj-modular .dgwt-wcas-details-wrapp {border-color:var(--dj-color-line);border-radius:var(--dj-radius-panel);background:var(--dj-color-paper);box-shadow:var(--dj-shadow-floating)}
/* Native focus must not disappear inside a scrollable suggestions list. */
body.dj-modular .dgwt-wcas-suggestions-wrapp :is(a,button):focus-visible,
body.dj-modular .dgwt-wcas-suggestion:focus-visible {outline:var(--dj-line-focus) solid var(--dj-color-accent);outline-offset:-3px}

/* 3. Native mobile Fibo overlay remains full screen and keeps its keyboard/scroll mechanics.
   The input is rounded within its original 45px bar, not a new modal or a replacement form. */
body.dj-modular .dgwt-wcas-overlay-mobile {background:var(--dj-color-paper);color:var(--dj-color-ink);font-family:var(--dj-font-body);border-radius:0}
body.dj-modular .dgwt-wcas-overlay-mobile .dgwt-wcas-om-bar {background:var(--dj-color-paper);border-bottom-color:var(--dj-color-line)}
body.dj-modular .dgwt-wcas-overlay-mobile .dgwt-wcas-om-bar input[type=search].dgwt-wcas-search-input {
 border:var(--dj-line-width) solid var(--dj-color-control);border-radius:var(--dj-radius-search);
 background:var(--dj-color-warm);color:var(--dj-color-ink);box-shadow:none;
 font-family:var(--dj-font-body);font-style:normal;font-weight:400;
}
body.dj-modular .dgwt-wcas-overlay-mobile input[type=search].dgwt-wcas-search-input::placeholder {font-family:var(--dj-font-body);font-style:normal;font-weight:400;color:var(--dj-color-muted);opacity:1}
body.dj-modular .dgwt-wcas-overlay-mobile .dgwt-wcas-om-return {background:var(--dj-color-paper);border-radius:var(--dj-radius-compact);color:var(--dj-color-ink)}
body.dj-modular .dgwt-wcas-overlay-mobile .dgwt-wcas-om-return svg path {fill:var(--dj-color-ink)}
body.dj-modular .dgwt-wcas-overlay-mobile .dgwt-wcas-suggestions-wrapp {border-radius:0;border:0;box-shadow:none;background:var(--dj-color-paper)}
body.dj-modular .dgwt-wcas-overlay-mobile .dgwt-wcas-suggestion {border-radius:0}
body.dj-modular .dgwt-wcas-overlay-mobile :is(input,button):focus-visible {outline:var(--dj-line-focus) solid var(--dj-color-accent);outline-offset:-3px}

/* 4. Catalogue / in-stock / related: round the photo surface, not the sculpture.
   No new overflow, object-fit, transform, aspect-ratio or dimensions are applied. */
body.dj-modular .ldc-image,
body.dj-modular .ldp-k-thumb {border-radius:var(--dj-radius-media)}
body.dj-modular .ldc-image img,
body.dj-modular .ldp-k-thumb img {border-radius:inherit}
body.dj-modular :is(.ldc-tile,.ldp-k-product) {border-radius:var(--dj-radius-card);box-shadow:none}
body.dj-modular :is(.dj-desktop-topics,.dj-mobile-topics) a.wp-block-navigation-item__content {border-radius:var(--dj-radius-card)}
body.dj-modular .dj-topic-step {border-radius:var(--dj-radius-compact)}
body.dj-modular :is(.ldc-filter-button,.ldc-sort,.ldh-stock-tools select) {border-radius:var(--dj-radius-compact)}
body.dj-modular :is(.ldc-pagination .page-numbers,.ldc-applied a) {border-radius:var(--dj-radius-tag)}

/* 5. Product gallery — decorative corners only, never a containing mask on .ldp-media.
   Native full-screen zoom isn't changed. Its viewer must retain the entire photograph. */
body.dj-modular .ldp-media>.wc-block-product-gallery .wc-block-product-gallery-large-image__wrapper .wc-block-components-product-image {border-radius:var(--dj-radius-gallery)}
body.dj-modular .ldp-media>.wc-block-product-gallery .wc-block-product-gallery-large-image__wrapper img[data-wp-on--click="actions.openDialog"] {border-radius:inherit}
body.dj-modular .ldp-media>.wc-block-product-gallery .wc-block-product-gallery-thumbnails__thumbnail,
body.dj-modular .ldp-media>.wc-block-product-gallery .wc-block-product-gallery-thumbnails__thumbnail img {border-radius:var(--dj-radius-thumbnail)}
body.dj-modular .ldp-media>.wc-block-product-gallery .wc-block-next-previous-buttons__button {border-radius:var(--dj-radius-compact)}

/* 6. Buttons/fields. Native checkbox/radio, hidden/honeypot fields and business logic untouched. */
body.dj-modular :is(.ldp-btn,.ldc-more,.ldh-more,.ldh-show-all,.dj-hero__button,.dj-drawer__catalog,.wp-block-button__link) {border-radius:var(--dj-radius-control)}
body.dj-modular.ldp-active .ldp-page .ldp-native-cart .single_add_to_cart_button {border-radius:var(--dj-radius-control)}
body.dj-modular :is(.ldp-dialog,.ldc-filter-dialog) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),select),
body.dj-modular :is(.ldc-price-fields input,.ldp-search-form input) {border-radius:var(--dj-radius-control);border-width:var(--dj-line-width)}
body.dj-modular :is(.ldp-contact-dialog textarea,.ldp-request-text) {border-radius:var(--dj-radius-search);border-width:var(--dj-line-width)}
body.dj-modular :is(.ldp-need-options label>span,.ldp-channel-picker label>span,.ldp-request-options button) {border-radius:var(--dj-radius-compact)}
body.dj-modular :is(.ldp-stock,.ldp-form-feedback,.ldp-pilot-form-note,.ldc-error) {border-radius:var(--dj-radius-tag)}
body.dj-modular :is(.ldp-dialog,.ldc-filter-dialog) {border-radius:var(--dj-radius-panel);border-color:var(--dj-color-line);box-shadow:var(--dj-shadow-panel)}
body.dj-modular .ldp-contact-dialog .ldp-contact-topbar {border-radius:var(--dj-radius-panel) var(--dj-radius-panel) 0 0}
body.dj-modular :is(.ldp-modal-close,.dj-mobile-menu__close) {border-radius:var(--dj-radius-compact)}
body.dj-modular .ldp-dialog::backdrop {background:rgba(45,48,44,.34)}

/* 7. Editorial cards and separators. Large page/header/footer bands stay flush.
   1px structural rules; 2px only for focus/selection, no decorative heavy top strokes. */
body.dj-modular :is(.ldp-collection-link,.ldp-k-context,.ldh-topic-card,.ldh-editorial-card,.ldh-service) {border-radius:var(--dj-radius-card)}
body.dj-modular .ldh-editorial-card img {border-radius:var(--dj-radius-media)}
body.dj-modular .ldp-k-context {border-top-width:var(--dj-line-width);border-top-color:var(--dj-color-line)}
body.dj-modular :is(.ldp-spec-row,.ldp-quick-specs>div,.ldc-toolbar,.ldc-reading,.ldc-help,.ldp-accordion details,.ldc-faq details,.dj-drawer__header,.dj-drawer__information,.dj-drawer__contact) {border-color:var(--dj-color-line)}
body.dj-modular .dj-mobile-menu {border-radius:0 var(--dj-radius-panel) var(--dj-radius-panel) 0;box-shadow:var(--dj-shadow-panel)}
body.dj-modular .dj-cookie-notice {border-radius:var(--dj-radius-notice);border-width:var(--dj-line-width);box-shadow:var(--dj-shadow-floating)}
body.dj-modular .dj-cookie-notice__dismiss {border-radius:var(--dj-radius-compact)}

/* 8. Native cart/checkout visual controls. No selection colors, availability or payment state changed. */
body.dj-modular :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout,.wc-block-mini-cart__drawer) .wc-block-components-button {border-radius:var(--dj-radius-control)}
body.dj-modular :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input,.wc-block-components-textarea,.wc-blocks-components-select__select,.wc-block-components-quantity-selector) {border-radius:var(--dj-radius-control)}
body.dj-modular :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout,.wc-block-mini-cart__drawer) .wc-block-components-product-image img {border-radius:var(--dj-radius-thumbnail)}

@media(max-width:780px){
 body.dj-modular :is(.ldc-image,.ldp-k-thumb){border-radius:var(--dj-radius-media-mobile)}
 body.dj-modular :is(.ldc-tile,.ldp-k-product){border-radius:var(--dj-radius-card-mobile)}
 body.dj-modular .ldp-media>.wc-block-product-gallery .wc-block-product-gallery-large-image__wrapper .wc-block-components-product-image {border-radius:var(--dj-radius-gallery-mobile)}
}
@media(forced-colors:active){
 body.dj-modular :is(.dgwt-wcas-suggestions-wrapp,.dgwt-wcas-details-wrapp,.ldp-dialog,.dj-cookie-notice) {border:1px solid CanvasText;box-shadow:none}
 body.dj-modular .dgwt-wcas-suggestion.dgwt-wcas-suggestion-selected {outline:2px solid Highlight;outline-offset:-3px}
}
/* Existing home block markup: these are .ldh-editorial (not a new card component). */
body.dj-modular .ldh-editorial {border-radius:var(--dj-radius-card)}
body.dj-modular :is(.ldh-editorial>img,.ldh-service>img,.ldp-story-image) {border-radius:var(--dj-radius-media)}
body.dj-modular .ldh-topic-card {border-top-width:var(--dj-line-width);border-top-color:var(--dj-color-line)}
body.dj-modular :is(.ldp-form-feedback,.ldp-pilot-form-note,.ldc-error) {border-radius:var(--dj-radius-control)}
