/* DD Experience — layout fixes for the Didonna theme (always loaded, effects on or off) */

/* Never let a stray element create sideways scrolling on phones */
html,body{overflow-x:clip}

/* Big display headings: never break inside a word */
main h1,main h2{overflow-wrap:normal!important;word-break:normal!important;hyphens:manual!important}

/* Sector pages: the hero title sits in a half-width column, size it to the column */
@media (min-width:992px){
  .dd-service-hero-grid h1{font-size:clamp(52px,4.2vw,92px)!important;line-height:.98!important}
}

/* Phones: keep every hero title inside the screen (longest words: NUTRACEUTICA, CALCOLATORE) */
@media (max-width:767px){
  main h1{font-size:clamp(30px,9.4vw,46px)!important;letter-spacing:-.03em!important;line-height:1!important}
  .dd-service-hero-grid h1{font-size:clamp(30px,9.2vw,44px)!important}
}

/* Listino call-to-action band */
.ddx-cta{position:relative;z-index:1;padding:clamp(48px,7vw,96px) clamp(20px,4vw,64px)}
.ddx-cta__in{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(28px,4.5vw,60px);border-radius:28px;border:1px solid rgba(255,80,51,.55);background:radial-gradient(120% 160% at 100% 0%,rgba(255,80,51,.2),rgba(255,80,51,0) 55%),#151517;color:#f2efe7}
.ddx-cta__k{margin:0 0 14px;font:600 12px/1.4 "Plus Jakarta Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#ff5033}
.ddx-cta__h{margin:0 0 14px!important;font-family:"Syne","Arial Black",sans-serif!important;font-weight:700;font-size:clamp(28px,3.6vw,54px)!important;line-height:1!important;letter-spacing:-.03em!important;text-transform:uppercase;color:#f2efe7!important}
.ddx-cta__p{margin:0;max-width:620px;font-size:clamp(15px,1.3vw,18px);line-height:1.6;color:#aaa79f}
.ddx-cta__a{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.ddx-cta__btn{display:block;text-align:center;padding:19px 26px;border-radius:999px;background:#ff5033;color:#09090a!important;font:700 13px/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;text-decoration:none!important;transition:transform .2s,box-shadow .2s}
.ddx-cta__btn:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(255,80,51,.35)}
.ddx-cta__alt{display:block;text-align:center;font-size:13px;color:#f2efe7!important;text-decoration:underline!important;text-underline-offset:4px;opacity:.75}
.ddx-cta__alt:hover{opacity:1}
@media (max-width:860px){.ddx-cta__in{grid-template-columns:1fr}}

/* Complianz consent banner in the studio's colours */
.cmplz-cookiebanner{--cmplz_banner_background_color:#151517;--cmplz_banner_border_color:rgba(255,80,51,.5);--cmplz_text_color:#f2efe7;--cmplz_hyperlink_color:#ff5033;--cmplz_title_font_size:16px;--cmplz_button_accept_background_color:#ff5033;--cmplz_button_accept_border_color:#ff5033;--cmplz_button_accept_text_color:#09090a;--cmplz_button_deny_background_color:transparent;--cmplz_button_deny_border_color:#f2efe7;--cmplz_button_deny_text_color:#f2efe7;--cmplz_button_settings_background_color:transparent;--cmplz_button_settings_border_color:rgba(242,239,231,.35);--cmplz_button_settings_text_color:#f2efe7;--cmplz_button_border_radius:999px;--cmplz_banner_border_radius:20px}
.cmplz-cookiebanner{background:#151517!important;color:#f2efe7!important;border:1px solid rgba(255,80,51,.5)!important;border-radius:20px!important;box-shadow:0 24px 80px rgba(0,0,0,.6)!important;font-family:"Plus Jakarta Sans",sans-serif!important}
.cmplz-cookiebanner .cmplz-title,.cmplz-cookiebanner .cmplz-message,.cmplz-cookiebanner .cmplz-message *{color:#f2efe7!important}
.cmplz-cookiebanner a,.cmplz-cookiebanner .cmplz-link{color:#ff5033!important}
.cmplz-cookiebanner .cmplz-btn{border-radius:999px!important;font-weight:700!important;letter-spacing:.06em!important;text-transform:uppercase!important;font-size:12px!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept{background:#ff5033!important;border-color:#ff5033!important;color:#09090a!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny,.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{background:transparent!important;border:1px solid #f2efe7!important;color:#f2efe7!important}
.cmplz-cookiebanner .cmplz-close svg path{fill:#f2efe7!important}

/* Dieline Magic lead modal */
.ddx-modal{position:fixed;inset:0;z-index:2147483003;display:flex;align-items:center;justify-content:center;padding:16px}
.ddx-modal[hidden]{display:none}
.ddx-modal__bg{position:absolute;inset:0;background:rgba(9,9,10,.78);backdrop-filter:blur(6px)}
.ddx-modal__box{position:relative;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:clamp(24px,4vw,40px);border-radius:24px;border:1px solid rgba(255,80,51,.55);background:radial-gradient(120% 140% at 100% 0%,rgba(255,80,51,.2),rgba(255,80,51,0) 55%),#151517;color:#f2efe7;box-shadow:0 30px 100px rgba(0,0,0,.6)}
.ddx-modal__x{position:absolute;top:12px;right:14px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:#f2efe7;font-size:28px;line-height:1;cursor:pointer}
.ddx-modal__x:hover{background:rgba(242,239,231,.08)}
.ddx-modal__h{margin:0 0 10px!important;font-family:"Syne","Arial Black",sans-serif!important;font-size:clamp(26px,4vw,38px)!important;line-height:1!important;letter-spacing:-.03em!important;text-transform:uppercase;color:#f2efe7!important}
.ddx-modal__p{margin:0 0 20px;color:#aaa79f;line-height:1.55;font-size:15px}
/* form styling shared with the listino page (.ddp scope) */
:is(.ddx-modal,.ddx-lead) .dd-lf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){:is(.ddx-modal,.ddx-lead) .dd-lf-grid{grid-template-columns:1fr}}
:is(.ddx-modal,.ddx-lead) .wpcf7 label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#aaa79f}
:is(.ddx-modal,.ddx-lead) .wpcf7-form-control-wrap{display:block}
:is(.ddx-modal,.ddx-lead) .wpcf7 input[type=text],:is(.ddx-modal,.ddx-lead) .wpcf7 input[type=email],:is(.ddx-modal,.ddx-lead) .wpcf7 input[type=tel]{display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:13px 15px;background:#09090a;border:1px solid rgba(242,239,231,.2);border-radius:12px;color:#f2efe7;font:inherit;font-size:15px;text-transform:none;letter-spacing:0}
:is(.ddx-modal,.ddx-lead) .wpcf7 input:focus{outline:none;border-color:#ff5033}
:is(.ddx-modal,.ddx-lead) .dd-lf-consent{margin:16px 0;font-size:13px;line-height:1.5;color:#aaa79f}
:is(.ddx-modal,.ddx-lead) .dd-lf-consent a{color:#f2efe7;text-decoration:underline}
:is(.ddx-modal,.ddx-lead) .wpcf7-acceptance label{display:flex!important;gap:10px;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-size:13px!important}
:is(.ddx-modal,.ddx-lead) .wpcf7-acceptance input{accent-color:#ff5033;width:18px;height:18px;flex:0 0 18px;margin-top:2px}
:is(.ddx-modal,.ddx-lead) .wpcf7-list-item{margin:0}
:is(.ddx-modal,.ddx-lead) .dd-lf-submit{width:100%;padding:16px 22px;border:0;border-radius:999px;background:#ff5033;color:#09090a;font:inherit;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
:is(.ddx-modal,.ddx-lead) .wpcf7-not-valid-tip{font-size:12px;color:#ff5033;margin-top:6px;text-transform:none;letter-spacing:0}
:is(.ddx-modal,.ddx-lead) .wpcf7-response-output{border-radius:12px;margin:14px 0 0!important;padding:12px 14px!important;font-size:14px}

/* modal field widths (theme overrides) */
:is(.ddx-modal,.ddx-lead) .wpcf7 p{margin:0 0 4px}
:is(.ddx-modal,.ddx-lead) .wpcf7 br{display:none}
:is(.ddx-modal,.ddx-lead) .wpcf7 label{width:100%}
:is(.ddx-modal,.ddx-lead) .wpcf7 input[type=text],:is(.ddx-modal,.ddx-lead) .wpcf7 input[type=email],:is(.ddx-modal,.ddx-lead) .wpcf7 input[type=tel]{width:100%!important;max-width:none!important;min-width:0}
:is(.ddx-modal,.ddx-lead) .dd-lf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:560px){:is(.ddx-modal,.ddx-lead) .dd-lf-grid{grid-template-columns:1fr}}

/* CF7 wraps grid fields in one <p>: let the labels be the grid items */
.dd-lf-grid > p{display:contents}

/* Landing pages (vino, olio, Bari) */
.ddx-visual svg{display:block;width:100%;height:auto;border-radius:inherit}
.ddx-visual figcaption a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.ddx-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.ddx-textlink{color:#f2efe7!important;font-size:14px;letter-spacing:.04em;text-decoration:underline!important;text-underline-offset:5px;opacity:.85}
.ddx-textlink:hover{opacity:1;color:#ff5033!important}
.ddx-lead-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
@media (max-width:900px){.ddx-lead-grid{grid-template-columns:1fr}}
.ddx-lead{padding:clamp(24px,4vw,40px);border-radius:24px;border:1px solid rgba(255,80,51,.55);background:radial-gradient(120% 140% at 100% 0%,rgba(255,80,51,.2),rgba(255,80,51,0) 55%),#151517;color:#f2efe7}
.ddx-lead .ddx-cta__btn{margin-top:16px}
