.elementor-kit-567{--e-global-color-primary:#E5E0D8;--e-global-color-secondary:#2D4F1E;--e-global-color-text:#1A1A1A;--e-global-color-accent:#8B5E3C;--e-global-color-86b4fcd:#02010100;--e-global-color-57c8da2:#000000CC;--e-global-color-665fbc1:#223A17;--e-global-typography-primary-font-family:"Fraunces";--e-global-typography-primary-font-size:65px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-primary-word-spacing:0em;--e-global-typography-secondary-font-family:"Fraunces";--e-global-typography-secondary-font-size:36px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-text-transform:capitalize;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-secondary-word-spacing:0em;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:300;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.5em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-text-word-spacing:0em;--e-global-typography-accent-font-family:"Manrope";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:capitalize;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-accent-word-spacing:0em;--e-global-typography-392b9e0-font-family:"Poppins";--e-global-typography-392b9e0-font-size:22px;--e-global-typography-392b9e0-font-weight:600;--e-global-typography-392b9e0-text-transform:capitalize;--e-global-typography-392b9e0-font-style:normal;--e-global-typography-392b9e0-text-decoration:none;--e-global-typography-392b9e0-line-height:1.2em;--e-global-typography-392b9e0-letter-spacing:0px;--e-global-typography-c05b693-font-family:"Poppins";--e-global-typography-c05b693-font-size:22px;--e-global-typography-c05b693-font-weight:300;--e-global-typography-c05b693-text-transform:none;--e-global-typography-c05b693-font-style:normal;--e-global-typography-c05b693-text-decoration:none;--e-global-typography-c05b693-line-height:1.5em;--e-global-typography-c05b693-letter-spacing:0px;--e-global-typography-6558fb1-font-family:"Poppins";--e-global-typography-6558fb1-font-size:16px;--e-global-typography-6558fb1-font-weight:300;--e-global-typography-6558fb1-text-transform:none;--e-global-typography-6558fb1-font-style:normal;--e-global-typography-6558fb1-text-decoration:none;--e-global-typography-6558fb1-line-height:1.5em;--e-global-typography-6558fb1-letter-spacing:10px;--e-global-typography-92bce3b-font-family:"Poppins";--e-global-typography-92bce3b-font-size:16px;--e-global-typography-92bce3b-font-weight:400;--e-global-typography-92bce3b-text-transform:capitalize;--e-global-typography-92bce3b-font-style:italic;--e-global-typography-92bce3b-text-decoration:underline;--e-global-typography-92bce3b-line-height:1em;--e-global-typography-92bce3b-letter-spacing:0px;--e-global-typography-b2deeae-font-family:"Poppins";--e-global-typography-b2deeae-font-size:85px;--e-global-typography-b2deeae-font-weight:600;--e-global-typography-b2deeae-text-transform:none;--e-global-typography-b2deeae-font-style:normal;--e-global-typography-b2deeae-text-decoration:none;--e-global-typography-b2deeae-line-height:1em;--e-global-typography-b2deeae-letter-spacing:0px;--e-global-typography-fb1a3e0-font-family:"Poppins";--e-global-typography-fb1a3e0-font-size:200px;--e-global-typography-fb1a3e0-font-weight:600;--e-global-typography-fb1a3e0-text-transform:none;--e-global-typography-fb1a3e0-font-style:normal;--e-global-typography-fb1a3e0-text-decoration:none;--e-global-typography-fb1a3e0-line-height:1.2em;--e-global-typography-fb1a3e0-letter-spacing:0px;--e-global-typography-397e168-font-family:"Poppins";--e-global-typography-397e168-font-size:16px;--e-global-typography-397e168-font-weight:400;--e-global-typography-397e168-text-transform:capitalize;--e-global-typography-397e168-font-style:italic;--e-global-typography-397e168-text-decoration:none;--e-global-typography-397e168-line-height:1.3em;--e-global-typography-397e168-letter-spacing:0px;--e-global-typography-71b5b38-font-family:"Poppins";--e-global-typography-71b5b38-font-size:16px;--e-global-typography-71b5b38-font-weight:300;--e-global-typography-71b5b38-text-transform:none;--e-global-typography-71b5b38-font-style:normal;--e-global-typography-71b5b38-text-decoration:line-through;--e-global-typography-71b5b38-line-height:1.5em;--e-global-typography-71b5b38-letter-spacing:0px;--e-global-typography-71b5b38-word-spacing:0em;--e-global-typography-555f776-font-family:"Poppins";--e-global-typography-555f776-font-size:16px;--e-global-typography-555f776-font-weight:400;--e-global-typography-555f776-text-transform:capitalize;--e-global-typography-555f776-font-style:normal;--e-global-typography-555f776-text-decoration:none;--e-global-typography-555f776-line-height:1em;--e-global-typography-555f776-letter-spacing:0px;background-color:var( --e-global-color-primary );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-567 e-page-transition{background-color:#FFBC7D;}body.e-wc-message-notice .woocommerce-message, body.e-wc-message-notice .wc-block-components-notice-banner.is-success{background-color:var( --e-global-color-secondary );}body.e-wc-message-notice .woocommerce-message .button, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .button{background-color:var( --e-global-color-86b4fcd );background-image:var( --e-global-color-86b4fcd );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );border-width:1px 1px 1px 1px;}body.e-wc-message-notice .woocommerce-message .button:hover, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .button:hover{background-color:var( --e-global-color-accent );background-image:var( --e-global-color-accent );}body.e-wc-info-notice .woocommerce-info, body.e-wc-info-notice .wc-block-components-notice-banner.is-info{background-color:var( --e-global-color-86b4fcd );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );}body.e-wc-info-notice .woocommerce-info .button, body.e-wc-info-notice .wc-block-components-notice-banner.is-info .button{background-color:var( --e-global-color-accent );background-image:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );border-width:1px 1px 1px 1px;}body.e-wc-info-notice .woocommerce-info .button:hover, body.e-wc-info-notice .wc-block-components-notice-banner.is-info .button:hover, body.e-wc-info-notice .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-info .woocommerce-Button:hover, body.e-wc-info-notice .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .wc-block-components-notice-banner.is-info .woocommerce-Button:hover{background-color:var( --e-global-color-86b4fcd );background-image:var( --e-global-color-86b4fcd );}.elementor-kit-567 p{margin-block-end:5px;}.elementor-kit-567 a{color:var( --e-global-color-secondary );}.elementor-kit-567 a:hover{color:var( --e-global-color-665fbc1 );}.elementor-kit-567 h1{color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-567 h2{color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-567 h3{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );font-style:var( --e-global-typography-secondary-font-style );text-decoration:var( --e-global-typography-secondary-text-decoration );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-567 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-392b9e0-font-family ), Sans-serif;font-size:var( --e-global-typography-392b9e0-font-size );font-weight:var( --e-global-typography-392b9e0-font-weight );text-transform:var( --e-global-typography-392b9e0-text-transform );font-style:var( --e-global-typography-392b9e0-font-style );text-decoration:var( --e-global-typography-392b9e0-text-decoration );line-height:var( --e-global-typography-392b9e0-line-height );letter-spacing:var( --e-global-typography-392b9e0-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1650px;}.e-con{--container-max-width:1650px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}{}h1.entry-title{display:var(--page-title-display);}.e-wc-error-notice .woocommerce-error, .e-wc-error-notice .wc-block-components-notice-banner.is-error{--error-message-text-color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );--error-message-normal-links-color:var( --e-global-color-text );--error-message-hover-links-color:var( --e-global-color-accent );}body.e-wc-error-notice .woocommerce-error a.wc-backward, body.e-wc-error-notice .wc-block-components-notice-banner.is-error a.wc-backward{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.e-wc-message-notice .woocommerce-message, .e-wc-message-notice .wc-block-components-notice-banner.is-success{--message-message-text-color:var( --e-global-color-accent );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );--message-message-icon-color:var( --e-global-color-accent );--message-buttons-normal-text-color:var( --e-global-color-accent );--message-buttons-hover-border-color:var( --e-global-color-accent );--message-border-type:solid;--message-border-color:var( --e-global-color-accent );--message-buttons-border-radius:300px 300px 300px 300px;}body.e-wc-message-notice .woocommerce-message .restore-item, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .restore-item, body.e-wc-message-notice .woocommerce-message a:not([class]), body.e-wc-message-notice .wc-block-components-notice-banner.is-success a:not([class]){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.e-wc-message-notice .woocommerce-message .restore-item, .e-wc-message-notice .wc-block-components-notice-banner.is-success .restore-item, .e-wc-message-notice .woocommerce-message a:not([class]), .e-wc-message-notice .wc-block-components-notice-banner.is-success a:not([class]){--notice-message-normal-links-color:var( --e-global-color-text );}.e-wc-message-notice .woocommerce-message .restore-item:hover, .e-wc-message-notice .wc-block-components-notice-banner.is-success .restore-item:hover, .e-wc-message-notice .woocommerce-message a:not([class]):hover, .e-wc-message-notice .wc-block-components-notice-banner.is-success a:not([class]):hover{--notice-message-hover-links-color:var( --e-global-color-accent );}.e-wc-info-notice .woocommerce-info, .e-wc-info-notice .wc-block-components-notice-banner.is-info{--info-message-text-color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );--info-message-icon-color:var( --e-global-color-primary );--info-buttons-hover-text-color:var( --e-global-color-accent );--info-buttons-hover-border-color:var( --e-global-color-accent );--info-border-type:solid;--info-border-color:var( --e-global-color-accent );--info-buttons-border-radius:300px 300px 300px 300px;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-567{--e-global-typography-primary-font-size:45px;--e-global-typography-secondary-font-size:25px;--e-global-typography-text-font-size:14px;--e-global-typography-accent-font-size:14px;--e-global-typography-c05b693-font-size:14px;--e-global-typography-6558fb1-font-size:14px;--e-global-typography-92bce3b-font-size:14px;--e-global-typography-b2deeae-font-size:65px;--e-global-typography-fb1a3e0-font-size:145px;--e-global-typography-397e168-font-size:14px;--e-global-typography-555f776-font-size:14px;--e-global-typography-555f776-line-height:2em;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-567 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-567 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-567 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-567 h4{font-size:var( --e-global-typography-392b9e0-font-size );line-height:var( --e-global-typography-392b9e0-line-height );letter-spacing:var( --e-global-typography-392b9e0-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}.e-wc-error-notice .woocommerce-error, .e-wc-error-notice .wc-block-components-notice-banner.is-error{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}body.e-wc-error-notice .woocommerce-error a.wc-backward, body.e-wc-error-notice .wc-block-components-notice-banner.is-error a.wc-backward{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.e-wc-message-notice .woocommerce-message, .e-wc-message-notice .wc-block-components-notice-banner.is-success{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}body.e-wc-message-notice .woocommerce-message .restore-item, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .restore-item, body.e-wc-message-notice .woocommerce-message a:not([class]), body.e-wc-message-notice .wc-block-components-notice-banner.is-success a:not([class]){font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}body.e-wc-message-notice .woocommerce-message .button, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.e-wc-info-notice .woocommerce-info, .e-wc-info-notice .wc-block-components-notice-banner.is-info{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}body.e-wc-info-notice .woocommerce-info .button, body.e-wc-info-notice .wc-block-components-notice-banner.is-info .button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}}@media(max-width:767px){.elementor-kit-567{--e-global-typography-primary-font-size:28px;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-size:20px;--e-global-typography-392b9e0-font-size:18px;--e-global-typography-b2deeae-font-size:48px;--e-global-typography-b2deeae-line-height:1em;--e-global-typography-fb1a3e0-font-size:100px;--e-global-typography-fb1a3e0-line-height:1em;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-567 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-567 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-567 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-567 h4{font-size:var( --e-global-typography-392b9e0-font-size );line-height:var( --e-global-typography-392b9e0-line-height );letter-spacing:var( --e-global-typography-392b9e0-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}.e-wc-error-notice .woocommerce-error, .e-wc-error-notice .wc-block-components-notice-banner.is-error{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}body.e-wc-error-notice .woocommerce-error a.wc-backward, body.e-wc-error-notice .wc-block-components-notice-banner.is-error a.wc-backward{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.e-wc-message-notice .woocommerce-message, .e-wc-message-notice .wc-block-components-notice-banner.is-success{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}body.e-wc-message-notice .woocommerce-message .restore-item, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .restore-item, body.e-wc-message-notice .woocommerce-message a:not([class]), body.e-wc-message-notice .wc-block-components-notice-banner.is-success a:not([class]){font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}body.e-wc-message-notice .woocommerce-message .button, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.e-wc-info-notice .woocommerce-info, .e-wc-info-notice .wc-block-components-notice-banner.is-info{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}body.e-wc-info-notice .woocommerce-info .button, body.e-wc-info-notice .wc-block-components-notice-banner.is-info .button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}}/* Start custom CSS *//* =============================================================================
   JUDECKI – globalny CSS
   Gdzie wkleić: Elementor → Ustawienia witryny → Własny CSS (cały plik, zastępując
   poprzednią wersję). Ten plik jest źródłem prawdy – zmiany rób tutaj, nie w Elementorze.

   Konwencje:
   • Każdy blok HTML ma klasę bazową .jd + własną, np. <section class="jd jd-hero">.
   • Wszystkie klasy mają przedrostek jd-, więc nie gryzą się z Hello, Elementorem ani Woo.
   • Linki stylujemy selektorem „.jd a.klasa” (specyficzność 0,2,1) – kit Elementora
     zmienia typografię linków po najechaniu i tylko tak wygrywamy z nim w każdym stanie.
   • Ten CSS ląduje w pliku kitu, który ładuje się PRZED stylami widżetów Elementora Pro,
     dlatego reguły dla WooCommerce i koszyka mają celowo mocniejsze selektory.
   ============================================================================= */


/* ── 1. Tokeny ───────────────────────────────────────────────────────────── */
:root {
  --jd-cream: #F5EEE3;
  --jd-card: #FBF7F0;
  --jd-sand: #E7D8C1;
  --jd-chip: #EDE3D3;
  --jd-line: #DDCFBA;
  --jd-ink: #1F2A22;
  --jd-text: #4A4A40;
  --jd-muted: #5B5A50;
  --jd-accent: #B0281F;
  --jd-accent-dark: #8A1F18;
  --jd-accent-soft: #F3D9D4;
  --jd-green: #22382A;
  --jd-green-2: #2F4A38;
  --jd-green-line: #45604D;
  --jd-green-soft: #DCE5D6;
  --jd-on-dark: #D6DDD2;
  --jd-on-dark-muted: #A9B6A4;
  --jd-rose-light: #E7A79F;
  --jd-serif: "Fraunces", Georgia, "Times New Roman", serif;
  --jd-sans: "Manrope", "Segoe UI", system-ui, sans-serif;
  --jd-ease: cubic-bezier(.2, .7, .2, 1);
  --jd-gutter: clamp(20px, 5.5vw, 80px);
  --jd-space: clamp(72px, 9vw, 112px);
}

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
.jd[id], .jd [id] { scroll-margin-top: 24px; }
body.jd-lock { overflow: hidden; }
/* Tło całej strony (wygrywa z tłem ustawionym w kicie Elementora) */
body[class*="elementor-kit-"] { background-color: var(--jd-cream); }


/* ── 2. Baza sekcji .jd ──────────────────────────────────────────────────── */
.jd {
  color: var(--jd-ink);
  font-family: var(--jd-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.jd *, .jd *::before, .jd *::after { box-sizing: border-box; }
.jd :is(h1, h2, h3, h4, p, ul, ol, figure, blockquote, dl, dd) { margin: 0; padding: 0; }
.jd :is(h1, h2, h3, h4) { font-style: normal; text-transform: none; text-decoration: none; word-spacing: normal; }
.jd :is(ul, ol) { list-style: none; }
.jd a { text-decoration: none; }
.jd img { display: block; max-width: 100%; height: auto; }
.jd figcaption { font-style: normal; }

/* Tarcza na typografię linków z kitu Elementora (zmienia krój i rozmiar po najechaniu) */
.jd a:hover, .jd a:focus {
  font-family: inherit; font-size: inherit; font-weight: inherit; font-style: inherit;
  line-height: inherit; letter-spacing: inherit; word-spacing: inherit;
  text-transform: inherit; text-decoration: none;
}

/* Reset przycisków i pól – motyw Hello nadaje im różowe ramki i tło przy :hover/:focus */
.jd button, .jd button:hover, .jd button:focus {
  appearance: none; margin: 0; padding: 0;
  background: none; border: 0; border-radius: 0; box-shadow: none;
  color: inherit; font: inherit; letter-spacing: inherit; text-transform: none;
  white-space: normal; cursor: pointer;
}
.jd input[type="search"], .jd input[type="search"]:focus,
.jd input[type="text"], .jd input[type="text"]:focus {
  appearance: none; width: 100%; margin: 0; padding: 0;
  background: none; border: 0; border-radius: 0; box-shadow: none; outline: none;
  color: inherit; font: inherit;
}

.jd .jd-sr {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.jd-wrap {
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: var(--jd-gutter);
}


/* ── 3. Wspólne elementy ─────────────────────────────────────────────────── */

/* Nadtytuł z kreską */
.jd .jd-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 13px; font-weight: 700; line-height: 1.4; letter-spacing: .16em; text-transform: uppercase;
  color: var(--jd-accent);
}
.jd .jd-eyebrow::before {
  content: ""; flex: none; width: 28px; height: 1.5px; background: currentColor;
}
.jd .jd-eyebrow--light { color: var(--jd-rose-light); }
.jd .jd-eyebrow--onred { color: #FBE3DF; }

/* Nagłówek sekcji */
.jd .jd-h2 {
  font-family: var(--jd-serif);
  font-size: clamp(34px, 1.4rem + 2.4vw, 52px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -.015em;
  color: var(--jd-ink);
  text-wrap: balance;
}

/* Przyciski (link lub <button>) */
.jd :is(a, button).jd-btn {
  height: 56px; padding: 0 30px;
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  border-radius: 999px;
  font-family: var(--jd-sans); font-size: 16px; font-weight: 700; line-height: 1; letter-spacing: 0;
  white-space: nowrap;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s var(--jd-ease), box-shadow .25s ease;
}
.jd :is(a, button).jd-btn:focus-visible { outline: 3px solid var(--jd-accent); outline-offset: 3px; }
.jd .jd-btn svg { flex: none; transition: transform .3s var(--jd-ease); }

.jd :is(a, button).jd-btn--primary {
  background: var(--jd-accent); color: #fff;
  box-shadow: 0 10px 24px -10px rgba(176, 40, 31, .55);
}
.jd :is(a, button).jd-btn--primary:hover {
  background: var(--jd-accent-dark); color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 16px 30px -12px rgba(176, 40, 31, .6);
}
.jd .jd-btn--primary:hover svg { transform: translateX(4px); }

.jd :is(a, button).jd-btn--ghost { border: 1.5px solid var(--jd-ink); color: var(--jd-ink); background: transparent; }
.jd :is(a, button).jd-btn--ghost:hover { background: var(--jd-ink); color: var(--jd-cream); }

.jd :is(a, button).jd-btn--light { border: 1.5px solid var(--jd-cream); color: var(--jd-cream); background: transparent; }
.jd :is(a, button).jd-btn--light:hover { background: var(--jd-cream); color: var(--jd-green); }

.jd :is(a, button).jd-btn--white { background: #fff; color: var(--jd-ink); }
.jd :is(a, button).jd-btn--white:hover { background: var(--jd-cream); color: var(--jd-ink); transform: translateY(-2px); }

/* Okrągły przycisk z ikoną */
.jd :is(a, button).jd-icon-btn,
.jd button.jd-icon-btn:hover,
.jd button.jd-icon-btn:focus {
  flex: none; width: 44px; height: 44px; border-radius: 50%;
  display: inline-grid; place-items: center;
  border: 1px solid var(--jd-line); background: transparent; color: var(--jd-ink);
  transition: background-color .2s ease, border-color .2s ease;
}
.jd :is(a, button).jd-icon-btn:hover { background: var(--jd-card); border-color: var(--jd-ink); color: var(--jd-ink); }
.jd :is(a, button).jd-icon-btn:focus-visible { outline: 3px solid var(--jd-accent); outline-offset: 2px; }

/* Etykiety („chipsy”) */
.jd .jd-chip {
  display: inline-flex; align-items: center;
  padding: 8px 14px; border-radius: 999px;
  background: var(--jd-chip); color: var(--jd-ink);
  font-size: 14px; font-weight: 600; line-height: 1.2;
}
.jd .jd-chip--accent { background: var(--jd-accent); color: #fff; font-weight: 700; }

/* Formularz wyszukiwania (panel w headerze, 404, wyniki) */
.jd .jd-sform {
  display: flex; align-items: center; gap: 8px;
  width: 100%; max-width: 640px; height: 60px; padding: 6px 6px 6px 22px;
  background: #fff; border: 1.5px solid var(--jd-line); border-radius: 999px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.jd .jd-sform:focus-within { border-color: var(--jd-ink); box-shadow: 0 0 0 4px rgba(31, 42, 34, .08); }
.jd .jd-sform > svg { flex: none; color: var(--jd-muted); }
.jd .jd-sform input.jd-sform__input,
.jd .jd-sform input.jd-sform__input:focus {
  flex: 1; min-width: 0; height: 100%;
  font-family: var(--jd-sans); font-size: 16px; font-weight: 500; color: var(--jd-ink);
}
.jd .jd-sform__input::placeholder { color: #8B887C; opacity: 1; }
.jd .jd-sform__input::-webkit-search-cancel-button { display: none; }
.jd .jd-sform button.jd-sform__submit,
.jd .jd-sform button.jd-sform__submit:focus {
  flex: none; height: 100%; padding: 0 22px; border-radius: 999px;
  background: var(--jd-ink); color: var(--jd-cream);
  font-family: var(--jd-sans); font-size: 15px; font-weight: 700; line-height: 1;
  transition: background-color .2s ease;
}
.jd .jd-sform button.jd-sform__submit:hover { background: var(--jd-accent); color: #fff; }
.jd .jd-sform button.jd-sform__submit:focus-visible { outline: 3px solid var(--jd-accent); outline-offset: 2px; }


/* ── 4. Animacje ─────────────────────────────────────────────────────────── */
@keyframes jd-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes jd-pop  { from { opacity: 0; transform: scale(.6) rotate(-25deg); } to { opacity: 1; transform: none; } }
@keyframes jd-spin { to { transform: rotate(360deg); } }

/* Pojawianie się przy przewijaniu – klasę .jd-js dodaje judecki.js,
   więc bez skryptu (np. w edytorze Elementora) wszystko jest po prostu widoczne. */
.jd-js [data-jd-reveal] {
  opacity: 0; transform: translateY(28px);
  transition: opacity .9s var(--jd-ease), transform .9s var(--jd-ease);
  transition-delay: var(--jd-delay, 0s);
}
.jd-js [data-jd-reveal].is-in { opacity: 1; transform: none; }


/* =============================================================================
   HEADER  (Theme Builder → Nagłówek)
   ============================================================================= */

/* Pasek informacyjny */
.jd-topbar { background: var(--jd-green); color: var(--jd-cream); }
.jd-topbar__inner {
  min-height: 40px; padding: 8px 20px;
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
  column-gap: 28px; row-gap: 2px;
  font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .04em; text-align: center;
}
.jd-topbar__sep { opacity: .45; }
.jd-topbar a.jd-topbar__phone { color: var(--jd-cream); }
.jd-topbar a.jd-topbar__phone:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* Główny pasek – logo, menu, wyszukiwarka, konto i koszyk w jednym widżecie HTML */
.jd-hdr {
  display: flex; align-items: center; gap: 16px;
  min-height: 88px;
  padding: 0 max(var(--jd-gutter), calc((100% - 1280px) / 2));
  background: var(--jd-cream);
  border-bottom: 1px solid var(--jd-line);
}

.jd-hdr a.jd-hdr__logo { display: inline-flex; align-items: baseline; gap: 12px; color: var(--jd-ink); }
.jd-hdr__brand, .jd-menu__brand {
  font-family: var(--jd-serif); font-size: 30px; font-weight: 700; line-height: 1; letter-spacing: .08em;
}
.jd-hdr__tag {
  font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--jd-muted);
}

.jd-hdr__nav { flex: 1; display: flex; justify-content: center; gap: clamp(24px, 3vw, 40px); }
.jd-hdr a.jd-hdr__link {
  position: relative; padding: 6px 0;
  color: var(--jd-ink); font-size: 15px; font-weight: 600; line-height: 1.2;
}
.jd-hdr a.jd-hdr__link:hover { color: var(--jd-ink); }
.jd-hdr__link::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; border-radius: 1px;
  background: var(--jd-accent); transform: scaleX(0); transform-origin: left;
  transition: transform .3s var(--jd-ease);
}
.jd-hdr__link:hover::after, .jd-hdr__link:focus-visible::after,
.jd-hdr__link[aria-current="page"]::after { transform: scaleX(1); }

.jd-hdr__tools { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.jd-hdr button.jd-hdr__burger { display: none; }

/* Koszyk – link do /koszyk/, liczbę produktów uzupełnia skrypt z Custom Code */
.jd-hdr a.jd-cartlink {
  flex: none; height: 44px; margin-left: 4px; padding: 0 18px;
  display: inline-flex; align-items: center; gap: 8px;
  border-radius: 999px; background: var(--jd-ink); color: var(--jd-cream);
  font-family: var(--jd-sans); font-size: 14px; font-weight: 700; line-height: 1;
  transition: background-color .25s ease;
}
.jd-hdr a.jd-cartlink:hover { background: var(--jd-green); color: var(--jd-cream); }
.jd-hdr a.jd-cartlink:focus-visible { outline: 3px solid var(--jd-accent); outline-offset: 3px; }
.jd-cartlink svg { flex: none; }
.jd-cartlink__count { display: inline-block; min-width: .6em; }
.jd-cartlink__count::before { content: "· "; }
.jd-cartlink.is-bumped .jd-cartlink__count { animation: jd-bump .5s var(--jd-ease); }
@keyframes jd-bump { 40% { transform: scale(1.4); } }

/* Panele (menu mobilne i wyszukiwarka) */
.jd-panel[hidden] { display: none; }
.jd-panel { position: fixed; inset: 0; z-index: 9990; }
.jd-panel__backdrop {
  position: absolute; inset: 0; background: rgba(31, 42, 34, .5);
  opacity: 0; transition: opacity .3s ease;
}
.jd-panel.is-open .jd-panel__backdrop { opacity: 1; }

.jd-menu__sheet {
  position: absolute; top: 0; bottom: 0; left: 0;
  width: min(88vw, 400px); padding: 20px 24px 32px;
  display: flex; flex-direction: column; gap: 28px; overflow-y: auto;
  background: var(--jd-cream);
  transform: translateX(-100%); transition: transform .4s var(--jd-ease);
}
.jd-panel.is-open .jd-menu__sheet { transform: none; }
.jd-menu__top { display: flex; align-items: center; justify-content: space-between; }
.jd-menu__brand { font-size: 26px; }
.jd-menu__nav { display: flex; flex-direction: column; border-top: 1px solid var(--jd-line); }
.jd-menu a.jd-menu__link {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 2px; border-bottom: 1px solid var(--jd-line);
  font-family: var(--jd-serif); font-size: 26px; font-weight: 600; line-height: 1.1; color: var(--jd-ink);
}
.jd-menu a.jd-menu__link:hover,
.jd-menu a.jd-menu__link[aria-current="page"] { color: var(--jd-accent); }
.jd-menu__link svg { color: var(--jd-accent); }
.jd-menu__foot { margin-top: auto; padding: 22px; border-radius: 22px; background: var(--jd-card); }
.jd-menu__foot p { font-size: 13px; font-weight: 600; color: var(--jd-muted); }
.jd-menu a.jd-menu__phone {
  display: block; margin: 4px 0 6px;
  font-family: var(--jd-serif); font-size: 28px; font-weight: 600; color: var(--jd-ink);
}

.jd-search__sheet {
  position: absolute; top: 0; left: 0; right: 0;
  padding: clamp(20px, 4vw, 40px) var(--jd-gutter) clamp(28px, 4vw, 48px);
  background: var(--jd-cream);
  box-shadow: 0 24px 60px -30px rgba(31, 42, 34, .5);
  transform: translateY(-100%); transition: transform .4s var(--jd-ease);
}
.jd-panel.is-open .jd-search__sheet { transform: none; }
.jd-search__inner { max-width: 820px; margin: 0 auto; display: flex; align-items: center; gap: 12px; }
.jd-search .jd-sform { max-width: none; flex: 1; }
.jd-search__hint { max-width: 820px; margin: 16px auto 0; padding-left: 24px; font-size: 14px; color: var(--jd-muted); }
.jd-search a.jd-search__hint-link { color: var(--jd-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.jd-search a.jd-search__hint-link:hover { color: var(--jd-accent); text-decoration: underline; }

@media (max-width: 1199px) {
  .jd-hdr__tag { display: none; }
}
@media (max-width: 899px) {
  .jd-hdr { min-height: 64px; gap: 10px; }
  .jd-hdr button.jd-hdr__burger { display: inline-grid; margin-left: -6px; border-color: transparent; }
  .jd-hdr__brand { font-size: 24px; }
  .jd-hdr__nav, .jd-hdr a.jd-hdr__account { display: none; }
  .jd-hdr__tools :is(a, button).jd-icon-btn { border-color: transparent; }
}
@media (max-width: 599px) {
  .jd-topbar__inner { font-size: 12px; column-gap: 12px; letter-spacing: .02em; }
  .jd-topbar__label { display: none; }
}
@media (max-width: 479px) {
  .jd-hdr a.jd-cartlink { padding: 0 14px; gap: 6px; }
  .jd-cartlink__label { display: none; }
  .jd-cartlink__count::before { content: none; }
  .jd-search__hint { padding-left: 4px; }
  .jd .jd-sform button.jd-sform__submit { padding: 0 16px; }
}


/* =============================================================================
   HERO
   ============================================================================= */
.jd-hero { background: var(--jd-cream); overflow: hidden; }

.jd-hero__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(40px, 6vw, 80px) var(--jd-gutter) clamp(56px, 7vw, 96px);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(40px, 5vw, 72px);
  align-items: center;
}

.jd-hero__copy { display: flex; flex-direction: column; align-items: flex-start; }

.jd-hero .jd-hero__title {
  margin-top: 24px;
  font-family: var(--jd-serif);
  font-size: clamp(2.5rem, .4rem + 4.6vw, 4.6rem);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.022em;
  color: var(--jd-ink);
}
.jd-hero__title em {
  display: block;
  font-style: italic;
  font-weight: 500;
  color: var(--jd-accent);
}

.jd-hero .jd-hero__lead {
  margin-top: 26px;
  max-width: 33rem;
  font-size: clamp(17px, 1rem + .25vw, 19px);
  line-height: 1.65;
  color: var(--jd-text);
  text-wrap: pretty;
}

.jd-hero__actions { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 12px; }

.jd-hero .jd-hero__facts {
  width: 100%;
  margin-top: 44px; padding-top: 28px;
  border-top: 1px solid var(--jd-line);
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;
}
.jd-hero__facts li { display: flex; flex-direction: column; gap: 4px; }
.jd-hero__facts strong {
  font-family: var(--jd-serif); font-size: clamp(22px, 1rem + 1vw, 30px); font-weight: 600; line-height: 1.15;
  color: var(--jd-ink);
}
.jd-hero__facts span { font-size: 14px; line-height: 1.45; color: var(--jd-muted); }

.jd-hero__media { position: relative; height: clamp(520px, 44vw, 640px); }

.jd-hero__photo {
  position: absolute; top: 0; right: 0; bottom: 0; left: 48px;
  border-radius: 32px; overflow: hidden;
  background: var(--jd-sand);
}
.jd-hero .jd-hero__photo img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 45%;
}
.jd-hero__photo::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(31, 42, 34, 0) 55%, rgba(31, 42, 34, .28) 100%);
}

.jd-hero__seal {
  position: absolute; z-index: 2; top: -26px; right: 28px;
  width: 152px; height: 152px; border-radius: 50%;
  background: var(--jd-accent); color: #fff;
  display: grid; place-items: center;
  box-shadow: 0 18px 40px -14px rgba(31, 42, 34, .45);
}
.jd-hero__seal-ring { position: absolute; inset: 0; width: 100%; height: 100%; }
.jd-hero__seal-ring text {
  fill: #FBE3DF; font-family: var(--jd-sans); font-size: 10.5px; font-weight: 700; letter-spacing: .18em;
}
.jd-hero__seal-core { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }
.jd-hero__seal-core strong { font-family: var(--jd-serif); font-size: 36px; font-weight: 700; line-height: 1; }
.jd-hero__seal-core span { margin-top: 4px; font-size: 11px; font-weight: 700; line-height: 1.25; letter-spacing: .04em; }

.jd-hero a.jd-hero__pack {
  position: absolute; z-index: 2; left: 0; bottom: 40px;
  width: max-content; max-width: calc(100% - 24px); padding: 12px 20px 12px 12px;
  display: flex; align-items: center; gap: 14px;
  background: var(--jd-card); color: var(--jd-ink);
  border-radius: 22px;
  box-shadow: 0 24px 48px -20px rgba(31, 42, 34, .45), 0 0 0 1px rgba(31, 42, 34, .04);
  transition: transform .35s var(--jd-ease), box-shadow .35s ease;
}
.jd-hero a.jd-hero__pack:hover {
  color: var(--jd-ink);
  transform: translateY(-4px);
  box-shadow: 0 30px 56px -20px rgba(31, 42, 34, .5), 0 0 0 1px rgba(31, 42, 34, .06);
}
.jd-hero a.jd-hero__pack:focus-visible { outline: 3px solid var(--jd-accent); outline-offset: 3px; }
.jd-hero__pack-img {
  flex: none; width: 84px; height: 105px; border-radius: 14px; overflow: hidden;
  background: var(--jd-card);
}
.jd-hero .jd-hero__pack-img img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.jd-hero__pack-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.jd-hero__pack-tag {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 5px;
  height: 22px; padding: 0 9px; border-radius: 11px;
  background: var(--jd-green-soft); color: var(--jd-green);
  font-size: 11px; font-weight: 700; letter-spacing: .04em; white-space: nowrap;
}
.jd-hero__pack-name { margin-top: 4px; font-family: var(--jd-serif); font-size: 22px; font-weight: 600; line-height: 1.1; }
.jd-hero__pack-meta { font-size: 13px; color: var(--jd-muted); white-space: nowrap; }
.jd-hero__pack-cta { margin-top: 4px; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--jd-accent); }
.jd-hero__pack-cta svg { transition: transform .3s var(--jd-ease); }
.jd-hero__pack:hover .jd-hero__pack-cta svg { transform: translateX(3px); }

@keyframes jd-hero-reveal { from { clip-path: inset(7% 7% 7% 7% round 40px); } to { clip-path: inset(0 0 0 0 round 32px); } }
@keyframes jd-hero-zoom { from { transform: scale(1.14); } to { transform: scale(1); } }

@media (prefers-reduced-motion: no-preference) {
  .jd-hero__copy > * { animation: jd-rise .8s var(--jd-ease) both; }
  .jd-hero__copy > :nth-child(2) { animation-delay: .06s; }
  .jd-hero__copy > :nth-child(3) { animation-delay: .14s; }
  .jd-hero__copy > :nth-child(4) { animation-delay: .22s; }
  .jd-hero__copy > :nth-child(5) { animation-delay: .30s; }
  .jd-hero__photo { animation: jd-hero-reveal 1.2s cubic-bezier(.65, 0, .25, 1) both; }
  .jd-hero__photo img { animation: jd-hero-zoom 1.8s cubic-bezier(.3, .6, .2, 1) both; }
  .jd-hero__seal { animation: jd-pop .7s .75s var(--jd-ease) both; }
  .jd-hero__seal-ring { animation: jd-spin 32s linear infinite; }
  .jd-hero a.jd-hero__pack { animation: jd-rise .8s .6s var(--jd-ease) both; }
}

@media (max-width: 899px) {
  .jd-hero__inner { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .jd-hero__media { height: clamp(360px, 96vw, 560px); margin-top: 8px; }
  .jd-hero__photo { left: 0; border-radius: 26px; }
  .jd-hero a.jd-hero__pack { left: 12px; bottom: 12px; }
  .jd-hero__seal { width: 116px; height: 116px; top: -22px; right: 16px; }
  .jd-hero__seal-core strong { font-size: 28px; }
  .jd-hero__seal-core span { font-size: 9.5px; }
  .jd-hero__seal-ring text { font-size: 11.5px; }
}
@media (max-width: 479px) {
  .jd-hero .jd-eyebrow { font-size: 12px; letter-spacing: .12em; }
  .jd-hero .jd-eyebrow::before { display: none; }
  .jd-hero .jd-hero__title { margin-top: 18px; }
  .jd-hero .jd-hero__lead { margin-top: 18px; }
  .jd-hero__actions { width: 100%; margin-top: 28px; }
  .jd-hero :is(a, button).jd-btn { flex: 1 1 100%; height: 54px; }
  .jd-hero .jd-hero__facts { margin-top: 32px; padding-top: 22px; gap: 12px; }
  .jd-hero__facts strong { font-size: 20px; white-space: nowrap; }
  .jd-hero__facts span { font-size: 12.5px; }
  .jd-hero a.jd-hero__pack { width: auto; max-width: none; right: 12px; padding: 10px 14px 10px 10px; }
  .jd-hero__pack-img { width: 64px; height: 80px; }
  .jd-hero__pack-name { font-size: 19px; }
}


/* =============================================================================
   WITAMINA C – porównanie
   ============================================================================= */
.jd-vitc { background: var(--jd-cream); }
.jd-vitc__card {
  display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center;
  padding: clamp(28px, 4.5vw, 64px);
  background: var(--jd-card); border-radius: 32px;
}
.jd-vitc__text { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.jd-vitc .jd-vitc__title { font-size: clamp(28px, 1rem + 1.4vw, 36px); line-height: 1.12; text-wrap: pretty; }
.jd-vitc .jd-vitc__lead { font-size: 15px; line-height: 1.65; color: var(--jd-text); }

.jd-vitc__bars { display: flex; flex-direction: column; gap: 24px; }
.jd-vitc__label {
  display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 9px;
  font-size: 15px; font-weight: 600; color: var(--jd-text);
}
.jd-vitc__label small { margin-left: 6px; font-size: 13px; font-weight: 500; color: var(--jd-muted); }
.jd-vitc__label strong { font-weight: 700; white-space: nowrap; }
.jd-vitc__row.is-main .jd-vitc__label { font-size: 16px; font-weight: 700; color: var(--jd-ink); }
.jd-vitc__row.is-main .jd-vitc__label strong { font-family: var(--jd-serif); font-size: 22px; font-weight: 700; color: var(--jd-accent); }
.jd-vitc__track { height: 22px; border-radius: 11px; background: var(--jd-chip); overflow: hidden; }
.jd-vitc__fill {
  display: block; height: 100%; border-radius: 11px;
  width: max(12px, calc(var(--v, 1) * 100%));
  background: #7C8B74;
  transform-origin: left center;
  transition: transform 1.4s var(--jd-ease) .25s;
}
.jd-vitc__row.is-main .jd-vitc__fill { background: linear-gradient(90deg, var(--jd-accent-dark), var(--jd-accent)); }
.jd-js [data-jd-reveal]:not(.is-in) .jd-vitc__fill { transform: scaleX(0); }
.jd-vitc .jd-vitc__note { margin-top: 22px; font-size: 13px; line-height: 1.55; color: var(--jd-muted); }

@media (max-width: 899px) {
  .jd-vitc__card { grid-template-columns: minmax(0, 1fr); border-radius: 26px; }
}


/* =============================================================================
   PAKIETY – nagłówek (HTML, ma id="pakiety") + siatka produktów
   Style siatki działają na KAŻDY widżet „Produkty” i „Produkty archiwum” – bez dopisywania klas.
   Selektory są celowo długie: muszą wygrać z ustawieniami z zakładki Styl w widżecie.
   ============================================================================= */
.jd-shop-head { background: var(--jd-cream); padding-block: var(--jd-space) clamp(32px, 4vw, 48px); }
.jd-shop-head__inner { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px 48px; flex-wrap: wrap; }
.jd-shop-head__title { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; max-width: 640px; }
.jd-shop-head .jd-shop-head__lead { max-width: 420px; font-size: 16px; line-height: 1.6; color: var(--jd-text); }

/* Kontener, w którym leży widżet produktów: zerujemy jego odstępy i szerokość treści,
   żeby siatka trzymała linię z resztą sekcji niezależnie od ustawień kontenera. */
body .e-con.e-con:has(> .elementor-widget-woocommerce-products, > .e-con-inner > .elementor-widget-woocommerce-products,
                      > .elementor-widget-wc-archive-products, > .e-con-inner > .elementor-widget-wc-archive-products) {
  padding: 0; background-color: var(--jd-cream);
}
body .e-con.e-con:has(> .e-con-inner > .elementor-widget-woocommerce-products,
                      > .e-con-inner > .elementor-widget-wc-archive-products) > .e-con-inner {
  max-width: none; width: 100%; padding: 0;
}

/* Widżet produktów: ta sama szerokość co reszta sekcji */
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element {
  width: 100%; max-width: 1440px; margin-inline: auto;
  padding: 0 var(--jd-gutter) clamp(64px, 8vw, 96px);
}
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid {
  column-gap: 24px; row-gap: 28px; margin: 0; padding: 0;
}
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product {
  position: relative; display: flex; flex-direction: column; float: none;
  width: auto; margin: 0; padding: 14px 14px 20px;
  background: var(--jd-card); border: 1.5px solid var(--jd-line); border-radius: 28px; box-shadow: none;
  text-align: left;
  font-family: var(--jd-sans);
  transition: border-color .3s ease, transform .35s var(--jd-ease), box-shadow .35s ease;
}
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product:hover {
  border-color: #CBB894; transform: translateY(-4px);
  box-shadow: 0 26px 50px -30px rgba(31, 42, 34, .4);
}
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product a.woocommerce-loop-product__link,
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product a.woocommerce-loop-product__link:hover {
  position: relative; display: flex; flex-direction: column; flex: 1 1 auto;
  color: var(--jd-ink); text-decoration: none;
  font-family: var(--jd-sans); font-size: 16px; font-weight: 400; line-height: 1.4; letter-spacing: 0; text-transform: none;
}
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product a img {
  width: 100%; height: auto; aspect-ratio: 1; object-fit: contain;
  margin: 0 0 18px; border-radius: 20px; box-shadow: none;
  mix-blend-mode: multiply;
  transition: transform .5s var(--jd-ease);
}
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product:hover a img { transform: scale(1.03); }
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product .woocommerce-loop-product__title {
  margin: 0 0 10px; padding: 0 6px;
  font-family: var(--jd-serif); font-size: 21px; font-weight: 600; font-style: normal;
  line-height: 1.22; letter-spacing: -.005em; word-spacing: normal; text-transform: none; text-decoration: none;
  color: var(--jd-ink);
}
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product .price {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px;
  margin: 0 0 20px; padding: 0 6px;
  font-family: var(--jd-sans); font-size: 22px; font-weight: 800; font-style: normal;
  line-height: 1.2; letter-spacing: 0; text-transform: none; text-decoration: none;
  color: var(--jd-ink);
}
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product .price ins {
  order: -1; background: none; text-decoration: none;
  font-family: var(--jd-sans); font-size: 22px; font-weight: 800; color: var(--jd-ink);
}
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product .price del {
  opacity: 1;
  font-family: var(--jd-sans); font-size: 15px; font-weight: 500; color: #6E6A5E;
}
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product .price .woocommerce-Price-amount.amount { color: inherit; font: inherit; }
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product span.onsale {
  display: inline-flex; align-items: center;
  position: absolute; z-index: 2; top: 14px; left: 14px; right: auto;
  min-width: 0; min-height: 0; height: 28px; margin: 0; padding: 0 12px;
  border-radius: 999px; background: var(--jd-accent); color: #fff;
  font-family: var(--jd-sans); font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: .04em; text-transform: none;
}
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product a.button,
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product a.button:hover,
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product a.button:focus {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; height: 52px; margin: auto 0 0; padding: 0 24px;
  border: 0; border-radius: 999px; box-shadow: none;
  background: var(--jd-ink); color: var(--jd-cream);
  font-family: var(--jd-sans); font-size: 15px; font-weight: 700; font-style: normal; line-height: 1;
  letter-spacing: 0; word-spacing: normal; text-transform: none; text-decoration: none;
  transition: background-color .25s ease;
}
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product a.button:hover { background: var(--jd-accent); color: #fff; }
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product a.button:focus-visible { outline: 3px solid var(--jd-accent); outline-offset: 3px; }
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product a.button.loading { opacity: .7; }
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element ul.products.elementor-grid li.product.type-product a.added_to_cart {
  display: block; margin-top: 12px; padding: 0;
  text-align: center; font-family: var(--jd-sans); font-size: 14px; font-weight: 700; text-transform: none;
  color: var(--jd-accent); text-decoration: underline; text-underline-offset: 3px;
}
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element .elementor-products-nothing-found,
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element .woocommerce-info {
  margin: 0; padding: 40px 28px; border: 1.5px dashed var(--jd-line); border-radius: 28px;
  background: var(--jd-card); color: var(--jd-text);
  font-family: var(--jd-sans); font-size: 17px; font-weight: 600; text-align: center;
}
body :is(.jd-products, .elementor-widget-woocommerce-products, .elementor-widget-wc-archive-products).elementor-widget.elementor-element.elementor-element .woocommerce-result-count { font-family: var(--jd-sans); font-size: 14px; color: var(--jd-muted); }


/* =============================================================================
   PLANTACJA
   ============================================================================= */
.jd-plant { background: var(--jd-green); color: var(--jd-cream); padding-block: var(--jd-space); overflow: hidden; }
.jd-plant__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 88px); align-items: center; }

.jd-plant__media { position: relative; height: clamp(460px, 42vw, 600px); }
.jd-plant__photo {
  position: absolute; top: 0; left: 0; bottom: 0; right: 64px;
  border-radius: 32px; overflow: hidden; background: var(--jd-green-2);
}
.jd-plant .jd-plant__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.jd-plant__inset {
  position: absolute; right: 0; bottom: 36px; width: min(46%, 270px);
  padding: 8px; border-radius: 24px; background: var(--jd-green);
  box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .55);
}
.jd-plant .jd-plant__inset img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 17px; }
.jd-plant__inset figcaption {
  padding: 10px 6px 4px; font-style: normal; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--jd-on-dark);
}

.jd-plant__text { display: flex; flex-direction: column; align-items: flex-start; gap: 26px; }
.jd-plant .jd-h2 { color: var(--jd-cream); }
.jd-plant .jd-plant__lead { font-size: 17px; line-height: 1.75; color: var(--jd-on-dark); max-width: 36rem; }
.jd-plant__stats { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.jd-plant__stats li {
  display: flex; flex-direction: column; gap: 6px;
  padding: 18px 20px; border: 1px solid var(--jd-green-line); border-radius: 20px;
}
.jd-plant__stats strong { font-family: var(--jd-serif); font-size: clamp(22px, 1rem + .9vw, 30px); font-weight: 600; line-height: 1.1; color: var(--jd-cream); }
.jd-plant__stats span { font-size: 14px; line-height: 1.4; color: #C3CEBE; }

@media (max-width: 899px) {
  .jd-plant__grid { grid-template-columns: minmax(0, 1fr); }
  .jd-plant__media { height: clamp(380px, 110vw, 560px); }
  .jd-plant__photo { right: 0; border-radius: 26px; }
  .jd-plant__inset { right: 12px; bottom: 12px; width: min(52%, 240px); }
}
@media (max-width: 479px) {
  .jd-plant__stats { gap: 8px; }
  .jd-plant__stats li { padding: 14px 12px; border-radius: 16px; }
  .jd-plant__stats strong { font-size: 20px; }
  .jd-plant__stats span { font-size: 12.5px; }
}


/* =============================================================================
   SKŁAD + JAK POWSTAJE
   ============================================================================= */
.jd-about { background: var(--jd-cream); padding-block: var(--jd-space) 0; }
.jd-about__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px); }
.jd-about__card {
  display: flex; flex-direction: column; gap: 26px;
  padding: clamp(28px, 3.6vw, 48px);
  background: var(--jd-card); border-radius: 32px;
}
.jd-about .jd-about__title {
  font-family: var(--jd-serif); font-size: clamp(28px, 1.2rem + 1.2vw, 34px); font-weight: 600; line-height: 1.1;
  letter-spacing: -.01em; color: var(--jd-ink);
}
.jd-about__group { display: flex; flex-direction: column; gap: 10px; }
.jd-about__group + .jd-about__group { margin-top: 4px; }
.jd-about__label { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--jd-muted); }
.jd-about__chips { display: flex; flex-wrap: wrap; gap: 8px; }

.jd-about__steps { counter-reset: jd-step; }
.jd-about__steps li { display: flex; gap: 18px; padding: 18px 0; border-bottom: 1px solid #E3D6C2; }
.jd-about__steps li:first-child { padding-top: 0; }
.jd-about__steps li:last-child { border-bottom: 0; padding-bottom: 0; }
.jd-about__num { flex: none; width: 36px; font-family: var(--jd-serif); font-size: 22px; font-weight: 700; line-height: 1.2; color: var(--jd-accent); }
.jd-about__step { display: flex; flex-direction: column; gap: 4px; }
.jd-about__step strong { font-size: 17px; font-weight: 700; }
.jd-about__step span { font-size: 15px; line-height: 1.55; color: var(--jd-text); }

@media (max-width: 899px) {
  .jd-about__grid { grid-template-columns: minmax(0, 1fr); }
  .jd-about__card { border-radius: 26px; }
}


/* =============================================================================
   KOD RABATOWY ROZA10
   ============================================================================= */
.jd-promo { background: var(--jd-cream); padding-block: var(--jd-space) 0; }
.jd-promo__card {
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: space-between; gap: 32px 48px; flex-wrap: wrap;
  padding: clamp(32px, 4vw, 52px) clamp(28px, 4.5vw, 64px);
  border-radius: 32px; background: var(--jd-accent); color: #fff;
}
.jd-promo__deco {
  position: absolute; right: -40px; top: 50%; width: 360px; height: 360px;
  transform: translateY(-50%) rotate(-18deg);
  color: #fff; opacity: .08; pointer-events: none;
}
.jd-promo__text { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.jd-promo .jd-promo__title { color: #fff; font-size: clamp(34px, 1.4rem + 2vw, 46px); }
.jd-promo .jd-promo__note { font-size: 15px; line-height: 1.55; color: #FBE3DF; max-width: 30rem; }
.jd-promo__actions { position: relative; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }

.jd-promo button.jd-promo__code,
.jd-promo button.jd-promo__code:focus {
  position: relative;
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  height: 72px; padding: 0 30px;
  border: 2px dashed #fff; border-radius: 18px;
  color: #fff; text-align: center;
  transition: background-color .2s ease;
}
.jd-promo button.jd-promo__code:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.jd-promo button.jd-promo__code:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.jd-promo__code-text { font-family: var(--jd-serif); font-size: 30px; font-weight: 700; line-height: 1; letter-spacing: .12em; }
.jd-promo__code-hint { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #FBE3DF; }
.jd-promo__code-done { display: none; }
.jd-promo__code.is-copied .jd-promo__code-idle { display: none; }
.jd-promo__code.is-copied .jd-promo__code-done { display: inline; }
.jd-promo :is(a, button).jd-btn { height: 64px; padding: 0 30px; }

@media (max-width: 599px) {
  .jd-promo__actions { width: 100%; }
  .jd-promo button.jd-promo__code, .jd-promo :is(a, button).jd-btn { flex: 1 1 100%; }
}


/* =============================================================================
   GALERIA
   ============================================================================= */
.jd-gallery { background: var(--jd-cream); padding-block: var(--jd-space); }
.jd-gallery__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px 48px; flex-wrap: wrap; margin-bottom: clamp(28px, 3.5vw, 44px); }
.jd-gallery__head > div { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.jd-gallery .jd-gallery__lead { max-width: 420px; font-size: 16px; line-height: 1.6; color: var(--jd-text); }
.jd-gallery a.jd-gallery__more { font-size: 15px; font-weight: 700; color: var(--jd-accent); text-decoration: underline; text-underline-offset: 4px; }
.jd-gallery a.jd-gallery__more:hover { color: var(--jd-accent-dark); text-decoration: underline; }

.jd-gallery__grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: clamp(160px, 17vw, 240px); grid-auto-flow: dense;
  gap: clamp(10px, 1.4vw, 20px);
}
.jd-gallery a.jd-gallery__item {
  position: relative; display: block; overflow: hidden;
  border-radius: 24px; background: var(--jd-sand);
}
.jd-gallery__item--big { grid-column: span 2; grid-row: span 2; }
.jd-gallery__item--wide { grid-column: span 2; }
.jd-gallery .jd-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--jd-ease); }
.jd-gallery__item::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(31, 42, 34, .45));
  opacity: 0; transition: opacity .4s ease;
}
.jd-gallery__zoom {
  position: absolute; z-index: 1; right: 14px; bottom: 14px;
  width: 40px; height: 40px; border-radius: 50%;
  display: grid; place-items: center; background: var(--jd-cream); color: var(--jd-ink);
  opacity: 0; transform: translateY(8px) scale(.9);
  transition: opacity .3s ease, transform .4s var(--jd-ease);
}
.jd-gallery a.jd-gallery__item:hover img { transform: scale(1.06); }
.jd-gallery a.jd-gallery__item:hover::after,
.jd-gallery a.jd-gallery__item:focus-visible::after { opacity: 1; }
.jd-gallery a.jd-gallery__item:hover .jd-gallery__zoom,
.jd-gallery a.jd-gallery__item:focus-visible .jd-gallery__zoom { opacity: 1; transform: none; }
.jd-gallery a.jd-gallery__item:focus-visible { outline: 3px solid var(--jd-accent); outline-offset: 3px; }

@media (max-width: 699px) {
  .jd-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 42vw; }
  .jd-gallery a.jd-gallery__item { border-radius: 18px; }
}


/* =============================================================================
   FAQ
   ============================================================================= */
.jd-faq { background: var(--jd-cream); padding-block: 0 var(--jd-space); }
.jd-faq__grid {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(36px, 6vw, 96px); align-items: start;
  padding-top: var(--jd-space); border-top: 1px solid var(--jd-line);
}
.jd-faq__intro { position: sticky; top: 32px; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.jd-faq .jd-faq__lead { font-size: 16px; line-height: 1.6; color: var(--jd-text); max-width: 26rem; }
.jd-faq a.jd-faq__phone {
  display: inline-flex; align-items: center; gap: 14px; margin-top: 6px;
  padding: 12px 22px 12px 12px; border-radius: 999px;
  background: var(--jd-card); border: 1px solid var(--jd-line); color: var(--jd-ink);
  transition: border-color .2s ease, background-color .2s ease;
}
.jd-faq a.jd-faq__phone:hover { border-color: var(--jd-ink); color: var(--jd-ink); }
.jd-faq__phone-icon { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--jd-accent); color: #fff; }
.jd-faq__phone small { display: block; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--jd-muted); }
.jd-faq__phone strong { display: block; font-family: var(--jd-serif); font-size: 22px; font-weight: 600; line-height: 1.2; }

.jd-faq__list { border-top: 1px solid var(--jd-line); }
.jd-faq__item { border-bottom: 1px solid var(--jd-line); }
.jd-faq__item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 22px 0; cursor: pointer; list-style: none;
  font-family: var(--jd-serif); font-size: clamp(19px, 1rem + .5vw, 22px); font-weight: 600; line-height: 1.3; color: var(--jd-ink);
  transition: color .2s ease;
}
.jd-faq__item summary::-webkit-details-marker { display: none; }
.jd-faq__item summary:hover { color: var(--jd-accent); }
.jd-faq__item summary:focus-visible { outline: 3px solid var(--jd-accent); outline-offset: 4px; border-radius: 4px; }
.jd-faq__icon {
  position: relative; flex: none; width: 36px; height: 36px; border-radius: 50%;
  border: 1.5px solid var(--jd-line); transition: background-color .3s ease, border-color .3s ease, transform .4s var(--jd-ease);
}
.jd-faq__icon::before, .jd-faq__icon::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; margin: -1px 0 0 -7px;
  border-radius: 1px; background: var(--jd-ink); transition: transform .4s var(--jd-ease), background-color .3s ease;
}
.jd-faq__icon::after { transform: rotate(90deg); }
.jd-faq__item[open] .jd-faq__icon { background: var(--jd-accent); border-color: var(--jd-accent); transform: rotate(180deg); }
.jd-faq__item[open] .jd-faq__icon::before, .jd-faq__item[open] .jd-faq__icon::after { background: #fff; }
.jd-faq__item[open] .jd-faq__icon::after { transform: rotate(0deg); }
.jd-faq__answer { padding: 0 60px 24px 0; }
.jd-faq__answer p { font-size: 16px; line-height: 1.7; color: var(--jd-text); }
.jd-faq__answer p + p { margin-top: 10px; }
.jd-faq a.jd-faq__link { color: var(--jd-accent); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.jd-faq a.jd-faq__link:hover { color: var(--jd-accent-dark); text-decoration: underline; }

/* Płynne otwieranie (nowsze przeglądarki; w starszych po prostu się otwiera) */
@supports .elementor-kit-567(::details-content) {
  .jd-faq { interpolate-size: allow-keywords; }
  .jd-faq__item::details-content {
    height: 0; overflow: clip;
    transition: height .45s var(--jd-ease), content-visibility .45s allow-discrete;
  }
  .jd-faq__item[open]::details-content { height: auto; }
}

@media (max-width: 899px) {
  .jd-faq__grid { grid-template-columns: minmax(0, 1fr); }
  .jd-faq__intro { position: static; }
  .jd-faq__answer { padding-right: 0; }
}


/* =============================================================================
   FOOTER  (Theme Builder → Stopka)
   ============================================================================= */
.jd-footer { background: var(--jd-ink); color: var(--jd-on-dark); padding-top: clamp(56px, 7vw, 80px); overflow: hidden; }
.jd-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.1fr; gap: 40px 48px; }
.jd-footer__brand { display: flex; flex-direction: column; gap: 16px; }
.jd-footer a.jd-footer__logo { font-family: var(--jd-serif); font-size: 30px; font-weight: 700; line-height: 1; letter-spacing: .08em; color: var(--jd-cream); }
.jd-footer a.jd-footer__logo:hover { color: #fff; }
.jd-footer__brand p { font-size: 15px; line-height: 1.7; }
.jd-footer .jd-footer__meta { font-size: 13px; color: var(--jd-on-dark-muted); }
.jd-footer .jd-footer__title { margin-bottom: 16px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--jd-cream); }
.jd-footer__links { display: flex; flex-direction: column; gap: 12px; }
.jd-footer a.jd-footer__link { font-size: 15px; line-height: 1.4; color: var(--jd-on-dark); transition: color .2s ease; }
.jd-footer a.jd-footer__link:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.jd-footer a.jd-footer__link[aria-current="page"] { color: #fff; font-weight: 700; }
.jd-footer a.jd-footer__write { display: inline-block; margin-top: 12px; font-weight: 700; color: var(--jd-cream); }
.jd-footer a.jd-footer__phone {
  display: inline-block; margin-bottom: 8px;
  font-family: var(--jd-serif); font-size: 28px; font-weight: 600; line-height: 1.2; color: var(--jd-cream);
}
.jd-footer a.jd-footer__phone:hover { color: #fff; }
.jd-footer__order p { font-size: 14px; line-height: 1.6; color: var(--jd-on-dark-muted); }
.jd-footer__bottom {
  display: flex; justify-content: space-between; gap: 8px 24px; flex-wrap: wrap;
  margin-top: clamp(40px, 5vw, 56px); padding: 24px 0;
  border-top: 1px solid #34453A; font-size: 13px; color: var(--jd-on-dark-muted);
}
.jd-footer__word {
  margin-bottom: -.2em;
  font-family: var(--jd-serif); font-size: clamp(72px, 17vw, 260px); font-weight: 700; line-height: .8; letter-spacing: .06em;
  text-align: center; color: rgba(245, 238, 227, .045); user-select: none; pointer-events: none;
}

@media (max-width: 999px) {
  .jd-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 559px) {
  .jd-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}


/* =============================================================================
   PODSTRONY: 404 · WYNIKI WYSZUKIWANIA · PRZERWA TECHNICZNA
   ============================================================================= */

/* 404 (Theme Builder → Pojedynczy → Strona 404) */
.jd-404 { background: var(--jd-cream); padding-block: clamp(48px, 7vw, 104px); overflow: hidden; }
.jd-404__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(40px, 6vw, 88px); align-items: center; }
.jd-404__text { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.jd-404 .jd-404__title {
  font-family: var(--jd-serif); font-size: clamp(44px, 1rem + 4.4vw, 80px); font-weight: 600; line-height: 1.02; letter-spacing: -.02em; color: var(--jd-ink);
}
.jd-404__title em { display: block; font-style: italic; font-weight: 500; color: var(--jd-accent); }
.jd-404 .jd-404__lead { max-width: 32rem; font-size: 18px; line-height: 1.65; color: var(--jd-text); }
.jd-404__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.jd-404__media { position: relative; display: grid; place-items: center; }
.jd-404__num {
  position: absolute; z-index: 0; top: 50%; left: 50%; transform: translate(-50%, -50%);
  font-family: var(--jd-serif); font-size: clamp(140px, 22vw, 320px); font-weight: 700; line-height: 1; letter-spacing: -.04em;
  color: transparent; -webkit-text-stroke: 2px var(--jd-line); user-select: none;
}
.jd-404__photo {
  position: relative; z-index: 1; width: min(100%, 420px); aspect-ratio: 4 / 5;
  border-radius: 999px 999px 32px 32px; overflow: hidden; background: var(--jd-sand);
  box-shadow: 0 30px 60px -30px rgba(31, 42, 34, .45);
}
.jd-404 .jd-404__photo img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 899px) {
  .jd-404__grid { grid-template-columns: minmax(0, 1fr); }
  .jd-404__media { order: -1; }
  .jd-404__photo { width: min(70%, 320px); }
}

/* Nagłówek wyników wyszukiwania (Theme Builder → Archiwum produktów → Wyniki wyszukiwania) */
.jd-results { background: var(--jd-cream); padding-block: clamp(40px, 6vw, 80px) clamp(32px, 4vw, 48px); }
.jd-results__inner { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.jd-results .jd-results__title {
  font-family: var(--jd-serif); font-size: clamp(36px, 1rem + 3vw, 60px); font-weight: 600; line-height: 1.05; letter-spacing: -.02em; color: var(--jd-ink);
}
.jd-results__query { color: var(--jd-accent); font-style: italic; font-weight: 500; }

/* Przerwa techniczna (Elementor → Narzędzia → Tryb konserwacji) */
.jd-maint {
  position: relative; min-height: 100vh; min-height: 100dvh;
  display: grid; place-items: center; padding: 24px;
  background: var(--jd-green); overflow: hidden;
}
.jd-maint .jd-maint__bg {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  filter: blur(3px) saturate(1.05); transform: scale(1.06);
}
.jd-maint::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(34, 56, 42, .35), rgba(34, 56, 42, .8));
}
.jd-maint__card {
  position: relative; z-index: 2; width: min(100%, 560px);
  display: flex; flex-direction: column; align-items: center; gap: 18px;
  padding: clamp(32px, 5vw, 56px) clamp(24px, 5vw, 52px);
  border-radius: 32px; background: var(--jd-cream); text-align: center;
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .5);
}
.jd-maint__logo { font-family: var(--jd-serif); font-size: 26px; font-weight: 700; letter-spacing: .08em; }
.jd-maint .jd-maint__title { font-family: var(--jd-serif); font-size: clamp(40px, 1rem + 4vw, 60px); font-weight: 600; line-height: 1.04; letter-spacing: -.02em; color: var(--jd-ink); }
.jd-maint__title em { font-style: italic; font-weight: 500; color: var(--jd-accent); }
.jd-maint .jd-maint__lead { font-size: 17px; line-height: 1.65; color: var(--jd-text); }
.jd-maint .jd-eyebrow::before { display: none; }


/* =============================================================================
   PODSTRONY – WSPÓLNE: nagłówek strony, okruszki, kroki zamówienia, pasek dostawy
   ============================================================================= */
.jd-page-head { background: var(--jd-cream); padding-block: clamp(36px, 5.5vw, 72px) clamp(28px, 4vw, 48px); }
.jd-page-head__inner { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.jd-page-head .jd-page-head__title {
  font-family: var(--jd-serif); font-size: clamp(40px, 1rem + 3.4vw, 64px); font-weight: 600;
  line-height: 1.04; letter-spacing: -.02em; color: var(--jd-ink); text-wrap: balance;
}
.jd-page-head__title em { font-style: italic; font-weight: 500; color: var(--jd-accent); }
.jd-page-head .jd-page-head__lead { max-width: 40rem; font-size: clamp(16px, .95rem + .2vw, 18px); line-height: 1.65; color: var(--jd-text); }
.jd-page-head__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.jd-page-head__chips li {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px;
  background: var(--jd-card); border: 1px solid var(--jd-line); font-size: 14px; font-weight: 600; color: var(--jd-ink);
}
.jd-page-head__chips svg { flex: none; color: var(--jd-accent); }
.jd-page-head a.jd-page-head__link { color: var(--jd-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.jd-page-head a.jd-page-head__link:hover { color: var(--jd-accent); text-decoration: underline; }

/* Okruszki */
.jd .jd-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 13px; font-weight: 600; color: var(--jd-muted); }
.jd .jd-crumbs a.jd-crumbs__link { color: var(--jd-muted); }
.jd .jd-crumbs a.jd-crumbs__link:hover { color: var(--jd-accent); }
.jd-crumbs__sep { opacity: .5; }
.jd-crumbs [aria-current] { color: var(--jd-ink); }

/* Kroki zamówienia: Koszyk → Dane i dostawa → Gotowe */
.jd-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; counter-reset: jd-step; }
.jd-steps li { counter-increment: jd-step; display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; color: var(--jd-muted); }
.jd-steps li::before {
  content: counter(jd-step); flex: none; width: 28px; height: 28px; border-radius: 50%;
  display: grid; place-items: center; border: 1.5px solid var(--jd-line); font-size: 13px; line-height: 1;
}
.jd-steps li:not(:last-child)::after { content: ""; width: 28px; height: 1.5px; background: var(--jd-line); }
.jd-steps li.is-done::before { content: "✓"; background: var(--jd-green); border-color: var(--jd-green); color: #fff; }
.jd-steps li.is-current { color: var(--jd-ink); }
.jd-steps li.is-current::before { background: var(--jd-ink); border-color: var(--jd-ink); color: var(--jd-cream); }
@media (max-width: 479px) {
  .jd-steps { gap: 6px 12px; }
  .jd-steps li { gap: 6px; font-size: 13px; }
  .jd-steps li::before { width: 24px; height: 24px; font-size: 12px; }
  .jd-steps li:not(:last-child)::after { display: none; }
}

/* Pasek „brakuje X zł do darmowej dostawy” (liczy go skrypt z Custom Code) */
.jd-ship {
  width: 100%; max-width: 560px; padding: 14px 18px 16px; border-radius: 18px;
  background: var(--jd-card); border: 1px solid var(--jd-line);
}
.jd-ship[hidden] { display: none; }
.jd .jd-ship__text { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--jd-text); }
.jd-ship__text svg { flex: none; color: var(--jd-green); }
.jd-ship__text strong { color: var(--jd-ink); font-weight: 800; }
.jd-ship__track { height: 8px; margin-top: 10px; border-radius: 4px; background: var(--jd-chip); overflow: hidden; }
.jd-ship__fill { display: block; height: 100%; width: var(--jd-ship, 0%); border-radius: 4px; background: var(--jd-accent); transition: width .8s var(--jd-ease); }
.jd-ship.is-free .jd-ship__fill { background: var(--jd-green); }

/* Pasek korzyści (sklep, produkt) */
.jd-perks { background: var(--jd-cream); padding-block: clamp(8px, 2vw, 24px) var(--jd-space); }
.jd-perks__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.jd-perks__item { display: flex; flex-direction: column; gap: 10px; padding: 24px; border-radius: 24px; background: var(--jd-card); }
.jd-perks__item > div { display: flex; flex-direction: column; gap: 8px; }
.jd-perks__icon { flex: none; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--jd-green-soft); color: var(--jd-green); }
.jd-perks__item strong { font-family: var(--jd-serif); font-size: 20px; font-weight: 600; line-height: 1.2; }
.jd-perks__item span { font-size: 14.5px; line-height: 1.55; color: var(--jd-text); }
@media (max-width: 999px) { .jd-perks__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479px) {
  .jd-perks__grid { grid-template-columns: minmax(0, 1fr); }
  .jd-perks__item { flex-direction: row; align-items: flex-start; gap: 14px; padding: 18px; }
  .jd-perks__item > div { gap: 4px; }
}


/* =============================================================================
   KARTA PRODUKTU (Theme Builder → Pojedynczy produkt)
   Wybór pakietu, ceny i zdjęcia pobiera skrypt z WooCommerce (Store API).
   ============================================================================= */
.jd-prod { background: var(--jd-cream); padding-block: clamp(20px, 3.5vw, 40px) clamp(56px, 7vw, 88px); }
.jd-prod__crumbs { margin-bottom: clamp(18px, 2.5vw, 28px); }
.jd-prod__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }

/* Galeria */
.jd-prod__gallery { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 12px; }
.jd-prod a.jd-prod__main {
  position: relative; display: block; aspect-ratio: 1; overflow: hidden;
  border-radius: 28px; background: var(--jd-card); border: 1px solid var(--jd-line);
}
.jd-prod .jd-prod__main img {
  width: 100%; height: 100%; object-fit: cover;
  mix-blend-mode: multiply; transition: opacity .3s ease, transform .6s var(--jd-ease);
}
.jd-prod a.jd-prod__main:hover img { transform: scale(1.03); }
.jd-prod a.jd-prod__main.is-empty {
  background: linear-gradient(100deg, var(--jd-card) 30%, #F3ECE0 50%, var(--jd-card) 70%) 0 0 / 200% 100%;
  animation: jd-shimmer 1.4s linear infinite;
}
@keyframes jd-shimmer { to { background-position: -200% 0; } }
.jd-prod__thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.jd-prod button.jd-prod__thumb,
.jd-prod button.jd-prod__thumb:hover,
.jd-prod button.jd-prod__thumb:focus {
  aspect-ratio: 1; overflow: hidden; border-radius: 16px;
  background: var(--jd-card); border: 1.5px solid var(--jd-line);
  transition: border-color .2s ease;
}
.jd-prod button.jd-prod__thumb:hover { border-color: #BFAE8F; }
.jd-prod button.jd-prod__thumb[aria-current="true"] { border-color: var(--jd-ink); }
.jd-prod button.jd-prod__thumb:focus-visible { outline: 3px solid var(--jd-accent); outline-offset: 2px; }
.jd-prod .jd-prod__thumb img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }

/* Informacje i zakup */
.jd-prod__info { display: flex; flex-direction: column; align-items: stretch; gap: 22px; }
.jd-prod__head { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.jd-prod .jd-prod__title {
  font-family: var(--jd-serif); font-size: clamp(34px, 1rem + 2.3vw, 50px); font-weight: 600;
  line-height: 1.06; letter-spacing: -.018em; color: var(--jd-ink); text-wrap: balance;
}
.jd-prod .jd-prod__lead { font-size: 16px; line-height: 1.65; color: var(--jd-text); }
.jd-prod .jd-prod__label { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--jd-muted); }

.jd-packs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
.jd-prod button.jd-pack,
.jd-prod button.jd-pack:hover,
.jd-prod button.jd-pack:focus {
  position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
  min-height: 92px; padding: 14px 14px 12px; border-radius: 18px;
  border: 1.5px solid var(--jd-line); background: transparent; color: var(--jd-ink); text-align: left;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.jd-prod button.jd-pack:hover { border-color: #BFAE8F; }
.jd-prod button.jd-pack[aria-checked="true"] { border-color: var(--jd-ink); background: #fff; box-shadow: inset 0 0 0 1px var(--jd-ink); }
.jd-prod button.jd-pack:focus-visible { outline: 3px solid var(--jd-accent); outline-offset: 2px; }
.jd-prod button.jd-pack:disabled { opacity: .45; cursor: not-allowed; }
.jd-pack__name { font-size: 15px; font-weight: 800; line-height: 1.25; }
.jd-pack__months { font-size: 12.5px; line-height: 1.3; color: var(--jd-muted); }
.jd-pack__per { margin-top: auto; padding-top: 6px; font-size: 13px; font-weight: 700; color: var(--jd-muted); }
.jd-pack.has-sale .jd-pack__per { color: var(--jd-accent); }
.jd-pack__tag {
  position: absolute; top: -10px; right: 10px; height: 20px; padding: 0 8px; border-radius: 10px;
  display: inline-flex; align-items: center; background: var(--jd-accent); color: #fff; font-size: 11px; font-weight: 800;
}
.jd-pack--skeleton {
  min-height: 92px; border-radius: 18px;
  background: linear-gradient(100deg, #EFE7DA 30%, #F6F0E6 50%, #EFE7DA 70%) 0 0 / 200% 100%;
  animation: jd-shimmer 1.4s linear infinite;
}

.jd-prod__buy {
  display: flex; flex-direction: column; gap: 16px;
  padding: clamp(18px, 2.4vw, 26px); border-radius: 26px; background: var(--jd-card); border: 1px solid var(--jd-line);
}
.jd-prod__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; min-height: 44px; }
.jd-prod__now { font-family: var(--jd-sans); font-size: clamp(30px, 1.2rem + 1.2vw, 38px); font-weight: 800; line-height: 1.1; color: var(--jd-ink); }
.jd-prod__was { flex-basis: 100%; font-size: 13.5px; font-weight: 500; color: var(--jd-muted); }
.jd-prod__save {
  display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 999px;
  background: var(--jd-accent-soft); color: var(--jd-accent-dark); font-size: 13px; font-weight: 800;
}
.jd-prod__was[hidden], .jd-prod__save[hidden] { display: none; }
.jd-prod__buy .jd-ship { max-width: none; background: var(--jd-cream); }
.jd-prod :is(a, button).jd-prod__cta { width: 100%; height: 60px; font-size: 17px; }
.jd-prod :is(a, button).jd-prod__cta:disabled { opacity: .55; cursor: wait; transform: none; }
.jd-prod__added {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 14px 16px; border-radius: 16px;
  background: var(--jd-green-soft); color: var(--jd-green); font-size: 14.5px; font-weight: 700;
}
.jd-prod__added[hidden] { display: none; }
.jd-prod a.jd-prod__added-link { margin-left: auto; color: var(--jd-green); text-decoration: underline; text-underline-offset: 3px; }
.jd-prod a.jd-prod__added-link:hover { color: var(--jd-ink); text-decoration: underline; }
.jd-prod .jd-prod__phone { font-size: 14px; line-height: 1.5; color: var(--jd-muted); text-align: center; }
.jd-prod a.jd-prod__phone-link { color: var(--jd-ink); font-weight: 800; }
.jd-prod a.jd-prod__phone-link:hover { color: var(--jd-accent); }

.jd-prod__trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.jd-prod__trust li { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--jd-ink); }
.jd-prod__trust svg { flex: none; width: 36px; height: 36px; padding: 8px; border-radius: 50%; background: var(--jd-green-soft); color: var(--jd-green); }
.jd-prod .jd-prod__promo { padding: 14px 16px; border-radius: 16px; border: 1.5px dashed var(--jd-accent); font-size: 14.5px; line-height: 1.5; color: var(--jd-text); }
.jd-prod__promo b { font-family: var(--jd-serif); letter-spacing: .08em; color: var(--jd-accent); }
.jd-prod__error {
  padding: 18px; border-radius: 18px; background: var(--jd-accent-soft); color: var(--jd-accent-dark);
  font-size: 15px; font-weight: 600; line-height: 1.55;
}
.jd-prod__error[hidden] { display: none; }
.jd-prod a.jd-prod__error-link { color: var(--jd-accent-dark); font-weight: 800; text-decoration: underline; }
.jd-prod a.jd-prod__error-link:hover { color: var(--jd-ink); text-decoration: underline; }

@media (max-width: 899px) {
  .jd-prod__grid { grid-template-columns: minmax(0, 1fr); }
  .jd-prod__gallery { position: static; }
}
@media (max-width: 479px) {
  .jd-packs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jd-prod__trust { grid-template-columns: minmax(0, 1fr); }
  .jd-prod__thumbs { gap: 8px; }
}

/* Zakładki: Opis / Skład / Dawkowanie / Dostawa */
.jd-details { background: var(--jd-cream); padding-block: 0 var(--jd-space); }
.jd-tabs__list { display: flex; flex-wrap: wrap; gap: 4px 32px; border-bottom: 1px solid var(--jd-line); }
.jd button.jd-tabs__tab,
.jd button.jd-tabs__tab:hover,
.jd button.jd-tabs__tab:focus {
  margin-bottom: -1px; padding: 16px 0 14px; border-bottom: 2px solid transparent;
  font-family: var(--jd-sans); font-size: 16px; font-weight: 700; color: #6E6A5E;
  transition: color .2s ease, border-color .2s ease;
}
.jd button.jd-tabs__tab:hover { color: var(--jd-ink); }
.jd button.jd-tabs__tab[aria-selected="true"] { color: var(--jd-ink); border-bottom-color: var(--jd-accent); }
.jd button.jd-tabs__tab:focus-visible { outline: 3px solid var(--jd-accent); outline-offset: 2px; }
.jd-tabs__panel { padding-top: clamp(28px, 3.5vw, 44px); }
.jd-tabs__panel + .jd-tabs__panel { border-top: 1px solid var(--jd-line); margin-top: 32px; }
.jd-ready .jd-tabs__panel { border-top: 0; margin-top: 0; }
.jd-ready .jd-tabs__panel:not(.is-active) { display: none; }
.jd-tabs__cols { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.jd-details .jd-details__h { margin-bottom: 16px; font-family: var(--jd-serif); font-size: clamp(26px, 1rem + 1.2vw, 34px); font-weight: 600; line-height: 1.12; color: var(--jd-ink); }
.jd-details .jd-details__p { font-size: 16px; line-height: 1.75; color: var(--jd-text); }
.jd-details .jd-details__p + .jd-details__p { margin-top: 12px; }
.jd-details a.jd-details__link { color: var(--jd-accent); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.jd-details a.jd-details__link:hover { color: var(--jd-accent-dark); text-decoration: underline; }
.jd-details__card { padding: clamp(22px, 3vw, 32px); border-radius: 24px; background: var(--jd-card); }
.jd-details .jd-details__card-title { margin-bottom: 14px; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--jd-muted); }
.jd-checks { display: flex; flex-direction: column; gap: 12px; }
.jd-checks li { display: flex; gap: 12px; font-size: 15.5px; line-height: 1.5; color: var(--jd-ink); }
.jd-checks li::before {
  content: ""; flex: none; width: 22px; height: 22px; margin-top: 1px; border-radius: 50%;
  background: var(--jd-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.jd-spec { display: flex; flex-direction: column; }
.jd-spec__row { display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: 8px 24px; padding: 16px 0; border-bottom: 1px solid var(--jd-line); }
.jd-spec__row:first-child { padding-top: 0; }
.jd-spec__row dt { font-size: 14px; font-weight: 700; color: var(--jd-muted); }
.jd-spec__row dd { font-size: 15.5px; line-height: 1.6; color: var(--jd-ink); }
@media (max-width: 899px) {
  .jd-tabs__cols { grid-template-columns: minmax(0, 1fr); }
  .jd-tabs__list { gap: 4px 22px; }
}
@media (max-width: 559px) {
  .jd-spec__row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .jd-tabs__list { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * var(--jd-gutter)); padding-inline: var(--jd-gutter); }
  .jd-tabs__list::-webkit-scrollbar { display: none; }
  .jd button.jd-tabs__tab { flex: none; font-size: 15px; white-space: nowrap; }
}


/* =============================================================================
   O PLANTACJI
   ============================================================================= */
/* Nagłówek: tekst + zdjęcie */
.jd-ph { background: var(--jd-green); color: var(--jd-cream); overflow: hidden; }
.jd-ph__grid {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 5vw, 80px); align-items: center;
  padding-block: clamp(40px, 6vw, 88px);
}
.jd-ph__inner { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.jd-ph .jd-ph__title {
  font-family: var(--jd-serif); font-size: clamp(46px, 1rem + 4.6vw, 92px); font-weight: 600;
  line-height: .98; letter-spacing: -.025em; color: var(--jd-cream); text-wrap: balance;
}
.jd-ph__title em { font-style: italic; font-weight: 500; color: var(--jd-rose-light); }
.jd-ph .jd-ph__lead { max-width: 34rem; font-size: clamp(16px, .95rem + .3vw, 19px); line-height: 1.7; color: var(--jd-on-dark); }
.jd-ph__meta { display: flex; flex-wrap: wrap; gap: 8px; }
.jd-ph__meta li { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--jd-green-line); font-size: 13px; font-weight: 700; color: var(--jd-cream); }
.jd-ph__photo { position: relative; height: clamp(420px, 46vw, 640px); border-radius: 32px; overflow: hidden; background: var(--jd-green-2); }
.jd-ph .jd-ph__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.jd-ph__badge {
  position: absolute; left: 18px; bottom: 18px; display: flex; flex-direction: column; gap: 2px;
  padding: 14px 18px; border-radius: 20px; background: var(--jd-cream); color: var(--jd-ink);
  box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .5);
}
.jd-ph__badge strong { font-family: var(--jd-serif); font-size: 28px; font-weight: 600; line-height: 1; }
.jd-ph__badge span { font-size: 12.5px; font-weight: 700; color: var(--jd-muted); }
@media (prefers-reduced-motion: no-preference) {
  .jd-ph__inner > * { animation: jd-rise .9s var(--jd-ease) both; }
  .jd-ph__inner > :nth-child(2) { animation-delay: .08s; }
  .jd-ph__inner > :nth-child(3) { animation-delay: .16s; }
  .jd-ph__inner > :nth-child(4) { animation-delay: .24s; }
  .jd-ph__photo { animation: jd-hero-reveal 1.2s cubic-bezier(.65, 0, .25, 1) both; }
  .jd-ph .jd-ph__photo img { animation: jd-hero-zoom 1.8s cubic-bezier(.3, .6, .2, 1) both; }
}
@media (max-width: 899px) {
  .jd-ph__grid { grid-template-columns: minmax(0, 1fr); }
  .jd-ph__photo { height: clamp(340px, 90vw, 520px); }
}

/* Historia */
.jd-story { background: var(--jd-cream); padding-block: var(--jd-space); }
.jd-story__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.jd-story__text { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.jd-story .jd-story__p { font-size: 17px; line-height: 1.8; color: var(--jd-text); }
.jd-story .jd-story__p--lead::first-letter {
  float: left; margin: 6px 12px 0 0; font-family: var(--jd-serif); font-size: 68px; font-weight: 600; line-height: .8; color: var(--jd-accent);
}
.jd-story__stats { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 8px; padding-top: 24px; border-top: 1px solid var(--jd-line); }
.jd-story__stats li { display: flex; flex-direction: column; gap: 4px; }
.jd-story__stats strong { font-family: var(--jd-serif); font-size: clamp(22px, 1rem + .9vw, 30px); font-weight: 600; line-height: 1.1; }
.jd-story__stats span { font-size: 13.5px; line-height: 1.4; color: var(--jd-muted); }
.jd-story__media { position: relative; height: clamp(460px, 46vw, 640px); }
.jd-story__img { position: absolute; overflow: hidden; border-radius: 28px; background: var(--jd-sand); box-shadow: 0 30px 60px -34px rgba(31, 42, 34, .5); }
.jd-story__img--a { top: 0; left: 0; width: 64%; height: 78%; }
.jd-story__img--b { right: 0; bottom: 0; width: 52%; height: 56%; border: 8px solid var(--jd-cream); }
.jd-story .jd-story__img img { width: 100%; height: 100%; object-fit: cover; }
.jd-story__note {
  position: absolute; z-index: 1; left: 14px; bottom: 14px; max-width: calc(100% - 28px);
  padding: 14px 16px; border-radius: 18px; background: var(--jd-green); color: var(--jd-cream);
  font-size: 13px; font-weight: 700; line-height: 1.4;
}
.jd-story__note strong { display: block; font-family: var(--jd-serif); font-size: 20px; }

/* Jak pracujemy */
.jd-values { background: var(--jd-green); color: var(--jd-cream); padding-block: var(--jd-space); }
.jd-values__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px 48px; flex-wrap: wrap; margin-bottom: clamp(32px, 4vw, 52px); }
.jd-values__head > div { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; max-width: 640px; }
.jd-values .jd-h2 { color: var(--jd-cream); }
.jd-values .jd-values__lead { max-width: 420px; font-size: 16px; line-height: 1.65; color: var(--jd-on-dark); }
.jd-values__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; counter-reset: jd-val; }
.jd-values__item {
  counter-increment: jd-val; position: relative; display: flex; flex-direction: column; gap: 12px;
  padding: 28px 24px 26px; border-radius: 24px; border: 1px solid var(--jd-green-line); background: rgba(47, 74, 56, .55);
}
.jd-values__item::before { content: "0" counter(jd-val); font-family: var(--jd-serif); font-size: 15px; font-weight: 700; color: var(--jd-rose-light); }
.jd-values__icon { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--jd-cream); color: var(--jd-green); }
.jd-values__item strong { font-family: var(--jd-serif); font-size: 22px; font-weight: 600; line-height: 1.2; color: var(--jd-cream); }
.jd-values__item span { font-size: 15px; line-height: 1.6; color: var(--jd-on-dark); }

/* Galeria – album (id="galeria", tu prowadzą linki z headera i stopki) */
.jd-album { background: var(--jd-cream); padding-block: var(--jd-space); }
.jd-album__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px 48px; flex-wrap: wrap; margin-bottom: clamp(28px, 3.5vw, 44px); }
.jd-album__head > div { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.jd-album .jd-album__lead { max-width: 440px; font-size: 16px; line-height: 1.6; color: var(--jd-text); }
.jd-album__grid { column-count: 4; column-gap: clamp(10px, 1.4vw, 18px); }
.jd-album a.jd-album__item {
  position: relative; display: block; margin: 0 0 clamp(10px, 1.4vw, 18px);
  overflow: hidden; border-radius: 22px; background: var(--jd-sand);
  break-inside: avoid; -webkit-column-break-inside: avoid;
}
.jd-album .jd-album__item img { width: 100%; height: auto; transition: transform .8s var(--jd-ease); }
.jd-album__cap {
  position: absolute; left: 12px; bottom: 12px; max-width: calc(100% - 76px);
  padding: 8px 12px; border-radius: 12px; background: rgba(245, 238, 227, .94);
  font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--jd-ink);
  opacity: 0; transform: translateY(8px); transition: opacity .3s ease, transform .4s var(--jd-ease);
}
.jd-album__zoom {
  position: absolute; right: 12px; bottom: 12px; width: 40px; height: 40px; border-radius: 50%;
  display: grid; place-items: center; background: var(--jd-cream); color: var(--jd-ink);
  opacity: 0; transform: translateY(8px) scale(.9); transition: opacity .3s ease, transform .4s var(--jd-ease);
}
.jd-album a.jd-album__item:hover img { transform: scale(1.05); }
.jd-album a.jd-album__item:is(:hover, :focus-visible) :is(.jd-album__cap, .jd-album__zoom) { opacity: 1; transform: none; }
.jd-album a.jd-album__item:focus-visible { outline: 3px solid var(--jd-accent); outline-offset: 3px; }
@media (max-width: 1099px) { .jd-album__grid { column-count: 3; } }
@media (max-width: 699px) {
  .jd-album__grid { column-count: 2; }
  .jd-album a.jd-album__item { border-radius: 16px; }
  .jd-album__cap, .jd-album__zoom { display: none; }
}

/* Lokalizacja + zaproszenie do sklepu */
.jd-where { background: var(--jd-cream); padding-block: var(--jd-space); }
.jd-where__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 32px); align-items: stretch; }
.jd-where__photo { position: relative; min-height: 420px; overflow: hidden; border-radius: 32px; background: var(--jd-sand); }
.jd-where .jd-where__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.jd-where__pin {
  position: absolute; left: 20px; bottom: 20px; display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 16px; border-radius: 999px; background: var(--jd-cream); font-size: 14px; font-weight: 700; color: var(--jd-ink);
}
.jd-where__pin svg { color: var(--jd-accent); }
.jd-where__card {
  display: flex; flex-direction: column; align-items: flex-start; gap: 18px;
  padding: clamp(28px, 4vw, 48px); border-radius: 32px; background: var(--jd-card);
}
.jd-where .jd-where__address { font-size: 17px; line-height: 1.7; color: var(--jd-ink); font-style: normal; }
.jd-where .jd-where__p { font-size: 15.5px; line-height: 1.7; color: var(--jd-text); }
.jd-where__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 8px; }

@media (max-width: 999px) {
  .jd-values__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
  .jd-story__grid, .jd-where__grid { grid-template-columns: minmax(0, 1fr); }
  .jd-story__media { height: clamp(380px, 100vw, 560px); order: -1; }
  .jd-story__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 18px; }
  .jd-where__photo { min-height: 300px; }
}
@media (max-width: 479px) {
  .jd-values__grid { grid-template-columns: minmax(0, 1fr); }
  .jd-where__actions > * { flex: 1 1 100%; }
}


/* =============================================================================
   KONTAKT + formularz Elementora (styl działa na każdy widżet „Formularz”)
   ============================================================================= */
.jd-contact { background: var(--jd-cream); padding-block: 0 clamp(40px, 5vw, 64px); }
.jd-contact__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.jd-contact__card {
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
  padding: clamp(22px, 3vw, 32px); border-radius: 26px; background: var(--jd-card); border: 1px solid var(--jd-line);
}
.jd-contact__card--accent { background: var(--jd-green); border-color: var(--jd-green); color: var(--jd-cream); }
.jd-contact__icon { width: 48px; height: 48px; margin-bottom: 6px; border-radius: 50%; display: grid; place-items: center; background: var(--jd-accent); color: #fff; }
.jd-contact__card--accent .jd-contact__icon { background: var(--jd-cream); color: var(--jd-green); }
.jd-contact .jd-contact__title { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--jd-muted); }
.jd-contact__card--accent .jd-contact__title { color: var(--jd-rose-light); }
.jd-contact a.jd-contact__big { font-family: var(--jd-serif); font-size: clamp(24px, 1rem + 1vw, 30px); font-weight: 600; line-height: 1.15; color: inherit; }
.jd-contact a.jd-contact__big:hover { color: var(--jd-accent); }
.jd-contact__card--accent a.jd-contact__big:hover { color: #fff; }
.jd-contact .jd-contact__p { font-size: 15px; line-height: 1.65; color: var(--jd-text); font-style: normal; }
.jd-contact__card--accent .jd-contact__p { color: var(--jd-on-dark); }
.jd-contact a.jd-contact__link { margin-top: auto; padding-top: 6px; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: var(--jd-accent); }
.jd-contact a.jd-contact__link:hover { color: var(--jd-accent-dark); }
.jd-contact__formhead { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: clamp(48px, 6vw, 80px); text-align: center; }
.jd-contact .jd-contact__formlead { max-width: 34rem; font-size: 16px; line-height: 1.6; color: var(--jd-text); }
@media (max-width: 899px) { .jd-contact__grid { grid-template-columns: minmax(0, 1fr); } }

/* Formularz */
body .elementor-widget-form.elementor-widget.elementor-element.elementor-element {
  width: calc(100% - 2 * var(--jd-gutter)); max-width: 760px; margin: 0 auto var(--jd-space);
  padding: clamp(22px, 4vw, 40px); border-radius: 28px; background: var(--jd-card); border: 1px solid var(--jd-line);
  font-family: var(--jd-sans);
}
body .elementor-widget-form.elementor-element.elementor-element .elementor-form-fields-wrapper { margin: 0 -8px -18px; }
body .elementor-widget-form.elementor-element.elementor-element .elementor-field-group { padding: 0 8px; margin-bottom: 18px; }
body .elementor-widget-form.elementor-element.elementor-element .elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: flex-start; gap: 10px; }
body .elementor-widget-form.elementor-element .elementor-field-group > label,
body .elementor-widget-form.elementor-element .elementor-field-label {
  margin-bottom: 6px; font-family: var(--jd-sans); font-size: 14px; font-weight: 700; color: var(--jd-ink);
}
body .elementor-widget-form.elementor-element .elementor-field-group .elementor-field-textual,
body .elementor-widget-form.elementor-element .elementor-field-group .elementor-field-textual:focus {
  min-height: 52px; padding: 13px 16px; border-radius: 14px;
  background: #fff; border: 1.5px solid var(--jd-line); box-shadow: none;
  font-family: var(--jd-sans); font-size: 16px; font-weight: 500; color: var(--jd-ink);
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .elementor-widget-form.elementor-element .elementor-field-group .elementor-field-textual:focus {
  border-color: var(--jd-ink); box-shadow: 0 0 0 4px rgba(31, 42, 34, .08); outline: none;
}
body .elementor-widget-form.elementor-element textarea.elementor-field-textual { min-height: 150px; resize: vertical; }
body .elementor-widget-form.elementor-element .elementor-field-textual::placeholder { color: #8B887C; opacity: 1; }
body .elementor-widget-form.elementor-element .elementor-field-type-acceptance label,
body .elementor-widget-form.elementor-element .elementor-field-subgroup label { font-size: 14px; font-weight: 500; line-height: 1.5; color: var(--jd-text); }
body .elementor-widget-form.elementor-element input[type="checkbox"] { accent-color: var(--jd-accent); width: 18px; height: 18px; }
body .elementor-widget-form.elementor-element .elementor-field-type-submit .elementor-button,
body .elementor-widget-form.elementor-element .elementor-field-type-submit .elementor-button:hover,
body .elementor-widget-form.elementor-element .elementor-field-type-submit .elementor-button:focus {
  min-height: 56px; padding: 0 32px; border: 0; border-radius: 999px;
  background: var(--jd-accent); color: #fff;
  font-family: var(--jd-sans); font-size: 16px; font-weight: 700; letter-spacing: 0; text-transform: none;
  transition: background-color .25s ease, transform .25s var(--jd-ease);
}
body .elementor-widget-form.elementor-element .elementor-field-type-submit .elementor-button:hover { background: var(--jd-accent-dark); transform: translateY(-2px); }
body .elementor-widget-form.elementor-element .elementor-message { font-family: var(--jd-sans); font-size: 15px; font-weight: 600; }
body .elementor-widget-form.elementor-element .elementor-message.elementor-message-success { color: var(--jd-green); }
body .elementor-widget-form.elementor-element .elementor-message.elementor-message-danger,
body .elementor-widget-form.elementor-element .elementor-error .elementor-field-textual { color: var(--jd-accent-dark); border-color: var(--jd-accent); }


/* =============================================================================
   WOOCOMMERCE: koszyk, zamówienie, podziękowanie, moje konto, komunikaty
   Styl przez zmienne widżetów Elementora Pro. Najlepiej wstaw widżety na nowo
   (czysta zakładka Styl) – wtedy nic się z tym CSS nie gryzie.
   ============================================================================= */
body :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account, .elementor-widget-woocommerce-purchase-summary).elementor-widget.elementor-element.elementor-element {
  --sections-background-color: var(--jd-card);
  --sections-border-color: var(--jd-line);
  --sections-border-type: solid;
  --sections-border-radius: 24px;
  --sections-padding: clamp(18px, 2.6vw, 28px);
  --sections-margin: 0 0 20px;
  --sections-title-color: var(--jd-ink);
  --sections-secondary-title-color: var(--jd-ink);
  --sections-descriptions-color: var(--jd-text);
  --sections-messages-color: var(--jd-text);
  --sections-checkboxes-color: var(--jd-text);
  --sections-radio-buttons-color: var(--jd-ink);
  --forms-labels-color: var(--jd-ink);
  --forms-label-spacing: 6px;
  --forms-rows-gap: 14px;
  --forms-fields-normal-color: var(--jd-ink);
  --forms-fields-focus-color: var(--jd-ink);
  --forms-fields-normal-background-color: #fff;
  --forms-fields-focus-background-color: #fff;
  --forms-fields-border-radius: 14px;
  --forms-fields-padding: 13px 16px;
  --forms-buttons-normal-text-color: var(--jd-ink);
  --forms-buttons-hover-text-color: var(--jd-cream);
  --forms-buttons-hover-background-color: var(--jd-ink);
  --forms-buttons-border-color: var(--jd-ink);
  --forms-buttons-hover-border-color: var(--jd-ink);
  --forms-buttons-border-type: solid;
  --forms-buttons-border-radius: 999px;
  --forms-buttons-padding: 13px 24px;
  --checkout-button-normal-text-color: #fff;
  --checkout-button-hover-text-color: #fff;
  --checkout-button-border-radius: 999px;
  --checkout-button-padding: 18px 24px;
  --purchase-button-normal-text-color: #fff;
  --purchase-button-hover-text-color: #fff;
  --purchase-button-border-radius: 999px;
  --purchase-button-padding: 18px 24px;
  --purchase-button-width: 100%;
  --totals-color: var(--jd-text);
  --totals-divider-color: var(--jd-line);
  --order-summary-color: var(--jd-ink);
  --order-summary-title-color: var(--jd-muted);
  --order-summary-items-color: var(--jd-ink);
  --order-summary-items-divider-color: var(--jd-line);
  --order-summary-totals-color: var(--jd-ink);
  --order-summary-totals-divider-color: var(--jd-line);
  --order-summary-quantity-border-color: var(--jd-line);
  --order-summary-remove-icon-normal-color: var(--jd-muted);
  --order-summary-remove-icon-hover-color: var(--jd-accent);
  --product-link-normal-color: var(--jd-ink);
  --product-link-hover-color: var(--jd-accent);
  --links-normal-color: var(--jd-accent);
  --links-hover-color: var(--jd-accent-dark);
  --tabs-normal-color: var(--jd-muted);
  --tabs-hover-color: var(--jd-ink);
  --tabs-active-color: var(--jd-ink);
  --tabs-border-color: var(--jd-line);
  --tabs-hover-border-color: var(--jd-ink);
  --tabs-active-border-color: var(--jd-ink);
  --tabs-border-type: solid;
  --tabs-border-radius: 14px;
  --tabs-padding: 13px 18px;
  --tabs-spacing: 8px;
  --tabs-divider-color: var(--jd-line);
  --tables-title-color: var(--jd-muted);
  --tables-items-color: var(--jd-ink);
  --tables-divider-border-color: var(--jd-line);
  --tables-links-normal-color: var(--jd-accent);
  --tables-links-hover-color: var(--jd-accent-dark);
  --tables-button-normal-text-color: var(--jd-ink);
  --tables-button-hover-text-color: var(--jd-cream);
  --tables-buttons-border-color: var(--jd-ink);
  --tables-buttons-border-type: solid;
  --tables-button-border-radius: 999px;
  --general-text-color: var(--jd-text);
  --typography-section-titles-color: var(--jd-ink);
  --titles-color: var(--jd-ink);
  --confirmation-message-color: var(--jd-green);
  --payment-methods-radio-buttons-color: var(--jd-accent);
  --checkboxes-color: var(--jd-ink);
  font-family: var(--jd-sans);
  color: var(--jd-text);
}
/* Szerokość i odstępy widżetów sklepu */
body :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account, .elementor-widget-woocommerce-purchase-summary).elementor-widget.elementor-element.elementor-element {
  width: 100%; max-width: 1440px; margin-inline: auto; padding: 0 var(--jd-gutter) var(--jd-space);
}
body .e-con.e-con:has(> .elementor-widget-woocommerce-cart, > .e-con-inner > .elementor-widget-woocommerce-cart,
                      > .elementor-widget-woocommerce-checkout-page, > .e-con-inner > .elementor-widget-woocommerce-checkout-page,
                      > .elementor-widget-woocommerce-my-account, > .e-con-inner > .elementor-widget-woocommerce-my-account) {
  padding: 0; background-color: var(--jd-cream);
}
body .e-con.e-con:has(> .e-con-inner > .elementor-widget-woocommerce-cart,
                      > .e-con-inner > .elementor-widget-woocommerce-checkout-page,
                      > .e-con-inner > .elementor-widget-woocommerce-my-account) > .e-con-inner {
  max-width: none; width: 100%; padding: 0;
}

/* Typografia nagłówków sekcji w koszyku / zamówieniu / koncie */
body :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account).elementor-element :is(h2, h3, .e-checkout-secondary-title, #order_review_heading) {
  font-family: var(--jd-serif); font-size: clamp(20px, 1rem + .5vw, 24px); font-weight: 600; font-style: normal;
  line-height: 1.2; letter-spacing: 0; text-transform: none; color: var(--jd-ink);
}
body :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account).elementor-element :is(label, td, th, p, li, .woocommerce-Price-amount) {
  font-family: var(--jd-sans);
}
body :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account).elementor-element :is(.input-text, select, textarea, .select2-selection) {
  border: 1.5px solid var(--jd-line); background-color: #fff; font-family: var(--jd-sans); font-size: 16px;
}
body :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account).elementor-element :is(.input-text, select, textarea):focus {
  border-color: var(--jd-ink); box-shadow: 0 0 0 4px rgba(31, 42, 34, .08); outline: none;
}
body :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account).elementor-element .button {
  font-family: var(--jd-sans); font-size: 15px; font-weight: 700; letter-spacing: 0; text-transform: none;
}

/* Główne przyciski: „Przejdź do kasy” i „Kupuję i płacę” */
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element .wc-proceed-to-checkout a.checkout-button,
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element #payment #place_order.button {
  background-color: var(--jd-accent); border: 0; box-shadow: 0 10px 24px -10px rgba(176, 40, 31, .55);
  font-family: var(--jd-sans); font-size: 17px; font-weight: 700; letter-spacing: 0; text-transform: none;
  transition: background-color .25s ease;
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element .wc-proceed-to-checkout a.checkout-button:hover,
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element #payment #place_order.button:hover {
  background-color: var(--jd-accent-dark);
}
body .elementor-widget-woocommerce-cart.elementor-element .shop_table .product-thumbnail img { border-radius: 14px; background: #fff; }
body .elementor-widget-woocommerce-cart.elementor-element .order-total :is(th, td, .woocommerce-Price-amount),
body .elementor-widget-woocommerce-checkout-page.elementor-element .order-total :is(th, td, .woocommerce-Price-amount) {
  font-size: 18px; font-weight: 800; color: var(--jd-ink);
}

/* Pusty koszyk */
body .woocommerce .return-to-shop a.button.wc-backward {
  display: inline-flex; align-items: center; height: 54px; padding: 0 28px; border: 0; border-radius: 999px;
  background: var(--jd-accent); color: #fff; font-family: var(--jd-sans); font-size: 16px; font-weight: 700; text-transform: none;
}
body .woocommerce .return-to-shop a.button.wc-backward:hover { background: var(--jd-accent-dark); color: #fff; }

/* Moje konto – formularze (widżet ma domyślnie niebieskie przyciski i szare pola z mocnymi selektorami) */
body .elementor-widget-woocommerce-my-account.elementor-element.elementor-element .e-my-account-tab .woocommerce :is(.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword) {
  max-width: 520px; margin: 0; padding: clamp(22px, 3vw, 32px); border: 1px solid var(--jd-line); border-radius: 26px; background: var(--jd-card);
}
body .elementor-widget-woocommerce-my-account.elementor-element.elementor-element .e-my-account-tab .woocommerce :is(.input-text, select, textarea) {
  min-height: 52px; padding: 13px 16px; border: 1.5px solid var(--jd-line); border-radius: 14px; background: #fff;
  font-family: var(--jd-sans); font-size: 16px; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-my-account.elementor-element.elementor-element .e-my-account-tab .woocommerce :is(.input-text, select, textarea):focus {
  border-color: var(--jd-ink); box-shadow: 0 0 0 4px rgba(31, 42, 34, .08); outline: none;
}
body .elementor-widget-woocommerce-my-account.elementor-element.elementor-element .e-my-account-tab .woocommerce :is(.login, .register, .woocommerce-ResetPassword, .woocommerce-EditAccountForm, .woocommerce-address-fields) .button {
  width: 100%; min-height: 54px; margin-top: 8px; padding: 0 28px; border: 0; border-radius: 999px;
  background: var(--jd-accent); color: #fff; font-family: var(--jd-sans); font-size: 16px; font-weight: 700; text-transform: none;
}
body .elementor-widget-woocommerce-my-account.elementor-element.elementor-element .e-my-account-tab .woocommerce :is(.login, .register, .woocommerce-ResetPassword, .woocommerce-EditAccountForm, .woocommerce-address-fields) .button:hover {
  background: var(--jd-accent-dark); color: #fff;
}
body .elementor-widget-woocommerce-my-account.elementor-element .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--jd-text); }
body .elementor-widget-woocommerce-my-account.elementor-element .lost_password a { color: var(--jd-accent); font-weight: 700; }

/* Zamówienie – pola danych i opis płatności (w widżecie selektory z #id) */
body .elementor-widget-woocommerce-checkout-page.elementor-element #customer_details .form-row :is(.input-text, textarea) {
  min-height: 52px; padding: 13px 16px; border: 1.5px solid var(--jd-line); border-radius: 14px; background-color: #fff;
  font-family: var(--jd-sans); font-size: 16px; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-checkout-page.elementor-element #customer_details .form-row :is(.input-text, textarea):focus {
  border-color: var(--jd-ink); box-shadow: 0 0 0 4px rgba(31, 42, 34, .08); outline: none;
}
body .elementor-widget-woocommerce-checkout-page.elementor-element #payment .payment_methods .payment_box {
  border-radius: 14px; background-color: var(--jd-cream); color: var(--jd-text);
}

/* Podziękowanie za zamówienie (strona zamówienia po złożeniu) */
body .woocommerce-order .woocommerce-notice--success.woocommerce-thankyou-order-received {
  margin: 0 0 24px; padding: 18px 22px; border-radius: 18px; background: var(--jd-green-soft); color: var(--jd-green);
  font-family: var(--jd-sans); font-size: 17px; font-weight: 700;
}
body .woocommerce-order ul.woocommerce-order-overview {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 0 0 32px; padding: 0; list-style: none;
}
body .woocommerce-order ul.woocommerce-order-overview li {
  margin: 0; padding: 16px 18px; border: 1px solid var(--jd-line); border-radius: 18px; background: var(--jd-card);
  font-family: var(--jd-sans); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--jd-muted);
}
body .woocommerce-order ul.woocommerce-order-overview li strong {
  display: block; margin-top: 6px; font-size: 16px; font-weight: 800; letter-spacing: 0; text-transform: none; color: var(--jd-ink);
}
body .woocommerce-order :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-bacs-bank-details) {
  margin-bottom: 20px; padding: clamp(18px, 2.6vw, 28px); border: 1px solid var(--jd-line); border-radius: 24px; background: var(--jd-card);
}
body .woocommerce-order :is(h2, .woocommerce-order-details__title, .woocommerce-column__title, .wc-bacs-bank-details-heading) {
  font-family: var(--jd-serif); font-size: 24px; font-weight: 600; text-transform: none; color: var(--jd-ink);
}

/* Komunikaty WooCommerce (dodano do koszyka, błędy, informacje) */
body[class] :is(.woocommerce-message, .woocommerce-info, .woocommerce-error).woocommerce-message,
body[class] :is(.woocommerce-message, .woocommerce-info, .woocommerce-error).woocommerce-info,
body[class] :is(.woocommerce-message, .woocommerce-info, .woocommerce-error).woocommerce-error {
  position: relative; margin: 0 0 20px; padding: 16px 20px 16px 52px;
  border: 1px solid var(--jd-line); border-left: 4px solid var(--jd-green); border-radius: 16px;
  background: var(--jd-card); color: var(--jd-ink);
  font-family: var(--jd-sans); font-size: 15px; font-weight: 600; line-height: 1.5; list-style: none;
}
body[class] .woocommerce-info.woocommerce-info { border-left-color: var(--jd-ink); }
body[class] .woocommerce-error.woocommerce-error { border-left-color: var(--jd-accent); }
body[class] :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { top: 16px; left: 20px; color: var(--jd-green); }
body[class] .woocommerce-info::before { color: var(--jd-ink); }
body[class] .woocommerce-error::before { color: var(--jd-accent); }
body[class] :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a:not(.button) { color: var(--jd-accent); font-weight: 700; text-decoration: underline; }
body[class] :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .button {
  float: right; margin-left: 12px; padding: 8px 16px; border: 0; border-radius: 999px;
  background: var(--jd-ink); color: var(--jd-cream); font-size: 14px; font-weight: 700; text-transform: none;
}
body[class] :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .button:hover { background: var(--jd-accent); color: #fff; }


/* =============================================================================
   ZAMÓWIENIE: nagłówek widoczny przy składaniu, podziękowanie – po złożeniu
   (WooCommerce dodaje wtedy do <body> klasę woocommerce-order-received)
   ============================================================================= */
body:not(.woocommerce-order-received) .jd-thanks { display: none; }
body.woocommerce-order-received .jd-checkout-head { display: none; }
.jd-thanks { background: var(--jd-cream); padding-block: clamp(40px, 6vw, 80px) clamp(28px, 4vw, 40px); text-align: center; }
.jd-thanks__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.jd-thanks__badge {
  width: 84px; height: 84px; border-radius: 50%; display: grid; place-items: center;
  background: var(--jd-green); color: #fff; box-shadow: 0 18px 40px -16px rgba(34, 56, 42, .6);
}
.jd-thanks .jd-thanks__title { font-family: var(--jd-serif); font-size: clamp(40px, 1rem + 3.4vw, 64px); font-weight: 600; line-height: 1.04; letter-spacing: -.02em; color: var(--jd-ink); }
.jd-thanks__title em { font-style: italic; font-weight: 500; color: var(--jd-accent); }
.jd-thanks .jd-thanks__lead { max-width: 36rem; font-size: 17px; line-height: 1.65; color: var(--jd-text); }
.jd-thanks__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
@media (prefers-reduced-motion: no-preference) {
  .jd-thanks__badge { animation: jd-pop .7s .1s var(--jd-ease) both; }
}


/* =============================================================================
   STRONY TEKSTOWE (regulamin, polityka prywatności, pomoc) – widżet „Edytor tekstu”
   ============================================================================= */
body :is(.elementor-widget-text-editor.elementor-element, .jd-doc) {
  font-family: var(--jd-sans); font-size: 16px; line-height: 1.75; color: var(--jd-text);
}
body :is(.elementor-widget-text-editor.elementor-element, .jd-doc) :is(h2, h3, h4) {
  margin: 1.8em 0 .6em; font-family: var(--jd-serif); font-weight: 600; font-style: normal;
  line-height: 1.2; letter-spacing: -.005em; text-transform: none; color: var(--jd-ink);
}
body :is(.elementor-widget-text-editor.elementor-element, .jd-doc) h2 { font-size: clamp(26px, 1rem + 1vw, 32px); }
body :is(.elementor-widget-text-editor.elementor-element, .jd-doc) h3 { font-size: 22px; }
body :is(.elementor-widget-text-editor.elementor-element, .jd-doc) h4 { font-size: 18px; }
body :is(.elementor-widget-text-editor.elementor-element, .jd-doc) :is(h2, h3, h4):first-child { margin-top: 0; }
body :is(.elementor-widget-text-editor.elementor-element, .jd-doc) p { margin: 0 0 1em; }
body :is(.elementor-widget-text-editor.elementor-element, .jd-doc) :is(ul, ol) { margin: 0 0 1.2em; padding-left: 1.4em; }
body :is(.elementor-widget-text-editor.elementor-element, .jd-doc) li { margin-bottom: .4em; }
body :is(.elementor-widget-text-editor.elementor-element, .jd-doc) li::marker { color: var(--jd-accent); }
body :is(.elementor-widget-text-editor.elementor-element, .jd-doc) strong { color: var(--jd-ink); }
body :is(.elementor-widget-text-editor.elementor-element, .jd-doc) a { color: var(--jd-accent); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
body :is(.elementor-widget-text-editor.elementor-element, .jd-doc) a:hover {
  color: var(--jd-accent-dark); font: inherit; font-weight: 600; letter-spacing: inherit; word-spacing: inherit; text-transform: inherit; text-decoration: underline;
}


/* ── Strony tekstowe: oprawa dokumentu (.jd-doc) ─────────────────────────────
   Treść z pliku *-tresc.html jest owinięta w <div class="jd-doc">. */
body .jd-doc { --jd-doc-r: 20px; box-sizing: border-box; width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 var(--jd-gutter) 96px; }
/* lewa krawędź jak w nagłówku strony; wąska, czytelna kolumna tekstu, siatka kart trochę szersza */
body .jd-doc > :is(.jd-doc__toc, h2, p, ol, ul, blockquote) { max-width: 780px; }
body .jd-doc > .jd-doc__grid { max-width: 1000px; }

/* spis treści */
.jd-doc .jd-doc__toc {
  display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 2.4em; padding: 18px;
  background: var(--jd-card); border: 1px solid var(--jd-line); border-radius: var(--jd-doc-r);
}
body .jd-doc a.jd-doc__chip {
  display: inline-block; padding: 7px 14px; border-radius: 999px; background: var(--jd-chip);
  font-size: 13.5px; font-weight: 600; line-height: 1.3; color: var(--jd-ink); text-decoration: none;
  transition: background .2s var(--jd-ease), color .2s var(--jd-ease);
}
body .jd-doc a.jd-doc__chip:hover {
  background: var(--jd-green); color: #fff; text-decoration: none; font-weight: 600;
}

/* nagłówki sekcji z kreską nad */
body .jd-doc > h2 {
  margin: 2.2em 0 .7em; padding-top: 1.1em; border-top: 1px solid var(--jd-line); scroll-margin-top: 90px;
}
body .jd-doc > h2:first-child,
body .jd-doc > .jd-doc__toc + h2 { margin-top: 0; padding-top: 0; border-top: 0; }

/* numerowane punkty: akcentowe numery zamiast zwykłej listy */
.jd-doc > ol { list-style: none; counter-reset: jd-n; padding-left: 0; }
.jd-doc > ol > li { counter-increment: jd-n; position: relative; padding-left: 2.6em; margin-bottom: .9em; }
.jd-doc > ol > li::before {
  content: counter(jd-n); position: absolute; left: 0; top: .15em; width: 1.75em; height: 1.75em;
  display: grid; place-items: center; border-radius: 50%; background: var(--jd-accent-soft);
  font-size: 13px; font-weight: 700; line-height: 1; color: var(--jd-accent-dark);
}
.jd-doc li ul, .jd-doc li ol { margin: .6em 0 .2em; }
.jd-doc li ol { list-style: lower-alpha; }

/* karty (Pomoc i informacje) */
.jd-doc .jd-doc__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0 0 2em; }
.jd-doc .jd-doc__card {
  padding: 26px 24px 14px; background: var(--jd-card); border: 1px solid var(--jd-line); border-radius: var(--jd-doc-r);
}
body .jd-doc .jd-doc__card h2 {
  margin: 0 0 .6em; padding: 0 0 .5em; border: 0; border-bottom: 2px solid var(--jd-accent-soft); font-size: 24px;
}
.jd-doc .jd-doc__card ul { padding-left: 1.2em; font-size: 15px; line-height: 1.65; }
.jd-doc .jd-doc__card p { font-size: 14.5px; }
@media (max-width: 720px) { .jd-doc .jd-doc__grid { grid-template-columns: 1fr; } }

/* wzór formularza */
.jd-doc blockquote {
  margin: 1em 0 1.6em; padding: 24px; background: var(--jd-card); border: 1.5px dashed var(--jd-green-line);
  border-radius: var(--jd-doc-r); font-size: 15px;
}
.jd-doc blockquote p:last-child { margin-bottom: 0; }

/* miejsca do uzupełnienia – podświetlone, żeby ich nie przeoczyć (usuń przed startem) */
.jd-doc mark.jd-todo { padding: .05em .35em; border-radius: 5px; background: #FFE98A; font-weight: 600; color: var(--jd-ink); }


/* =============================================================================
   KOSZYK – widżet „Koszyk” (Elementor Pro)
   Widżet na /koszyk/ ma stare ustawienia z zakładki Styl i bierze kolory z kitu, a te
   reguły ładują się później niż ten plik. Dlatego selektory są celowo bardzo mocne
   (5+ klas) – wygrywają z zakładką Styl bez !important.
   ============================================================================= */

/* Układ: produkty + kupon po lewej, podsumowanie po prawej (przyklejone przy przewijaniu) */
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .e-cart__container {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px); column-gap: clamp(20px, 3vw, 40px); row-gap: 20px; align-items: start;
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .e-cart__column-end { position: sticky; top: 24px; }
@media (max-width: 1024px) {
  body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .e-cart__container { grid-template-columns: minmax(0, 1fr); }
  body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .e-cart__column-end { position: static; }
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .e-cart-section {
  margin: 0 0 20px; padding: clamp(18px, 2.6vw, 28px);
  background: var(--jd-card); border: 1px solid var(--jd-line); border-radius: 24px;
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .e-cart__column-end .e-cart-section { margin-bottom: 0; }

/* Tabela produktów */
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart { margin: 0; border: 0; border-collapse: collapse; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart th {
  padding: 0 12px 14px 0; border: 0;
  font-family: var(--jd-sans); font-size: 12px; font-weight: 700; font-style: normal; line-height: 1.3;
  letter-spacing: .1em; text-transform: uppercase; text-decoration: none; color: var(--jd-muted);
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart td {
  padding: 18px 12px 18px 0; vertical-align: middle; border-top: 1px solid var(--jd-line);
  font-family: var(--jd-sans); font-size: 15px; font-weight: 500; font-style: normal; line-height: 1.4;
  letter-spacing: 0; text-transform: none; color: var(--jd-text);
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart td.actions { padding: 0; border: 0; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart td.product-remove { width: 44px; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart td.product-remove a.remove {
  width: 32px; height: 32px; display: grid; place-items: center;
  border: 1px solid var(--jd-line); border-radius: 50%; background: transparent;
  font-family: var(--jd-sans); font-size: 18px; font-weight: 500; line-height: 1;
  transition: background-color .2s ease, border-color .2s ease;
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart td.product-remove a.remove:hover { background: var(--jd-accent-soft); border-color: var(--jd-accent-soft); }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart td.product-thumbnail { width: 96px; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart td.product-thumbnail img {
  width: 80px; height: 80px; padding: 4px; object-fit: contain; mix-blend-mode: multiply;
  background: #fff; border: 1px solid var(--jd-line); border-radius: 16px; box-shadow: none;
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart td.product-name a {
  font-family: var(--jd-serif); font-size: 18px; font-weight: 600; line-height: 1.25; color: var(--jd-ink); text-decoration: none;
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart td.product-name a:hover { color: var(--jd-accent); }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart td.product-subtotal { font-weight: 800; color: var(--jd-ink); }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart td :is(span, .woocommerce-Price-amount) { font: inherit; color: inherit; }

/* Ilość */
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .quantity input.input-text.qty {
  width: 68px; height: 46px; max-height: none; padding: 0 6px; text-align: center;
  background: #fff; border: 1.5px solid var(--jd-line); border-radius: 12px;
  font-family: var(--jd-sans); font-size: 16px; font-weight: 700; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .quantity input.input-text.qty:focus {
  border-color: var(--jd-ink); box-shadow: 0 0 0 4px rgba(31, 42, 34, .08); outline: none;
}

/* Pola tekstowe i listy (kupon, kalkulator wysyłki) */
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce :is(input.input-text:not(.qty), select) {
  width: 100%; min-height: 52px; margin: 0; padding: 13px 16px;
  background: #fff; border: 1.5px solid var(--jd-line); border-radius: 14px; box-shadow: none;
  font-family: var(--jd-sans); font-size: 16px; font-weight: 500; font-style: normal; line-height: 1.4;
  letter-spacing: 0; text-transform: none; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce :is(input.input-text:not(.qty), select):focus {
  border-color: var(--jd-ink); box-shadow: 0 0 0 4px rgba(31, 42, 34, .08); outline: none;
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce input.input-text::placeholder { color: #8B887C; opacity: 1; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .select2-container .select2-selection--single {
  height: 52px; background: #fff; border: 1.5px solid var(--jd-line); border-radius: 14px;
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0 40px 0 16px; line-height: 49px; font-family: var(--jd-sans); font-size: 16px; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 49px; right: 10px; }

/* Przyciski pomocnicze („Użyj kodu”, „Zaktualizuj”) */
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .button:not(.checkout-button) {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 52px; margin: 0; padding: 0 24px;
  background: transparent; border: 1.5px solid var(--jd-ink); border-radius: 999px; box-shadow: none;
  font-family: var(--jd-sans); font-size: 15px; font-weight: 700; font-style: normal; line-height: 1;
  letter-spacing: 0; text-transform: none; text-decoration: none; white-space: nowrap; color: var(--jd-ink);
  transition: background-color .2s ease, color .2s ease;
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .button:not(.checkout-button):hover {
  background: var(--jd-ink); border-color: var(--jd-ink); color: var(--jd-cream);
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .button:not(.checkout-button):disabled { opacity: .45; }

/* Kupon: pole i przycisk w jednym rzędzie, nad nimi zachęta */
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .coupon::before {
  content: "Masz kod rabatowy?"; display: block; margin-bottom: 12px;
  font-family: var(--jd-serif); font-size: 20px; font-weight: 600; line-height: 1.2; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .coupon .coupon-col { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .coupon .coupon-col-start { flex: 1 1 220px; padding: 0; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .coupon .coupon-col-end { flex: 0 0 auto; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .coupon #coupon_code { margin: 0; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .coupon .button { width: auto; }
@media (max-width: 479px) {
  body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .coupon .coupon-col-end,
  body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .coupon .button { width: 100%; flex-basis: 100%; }
}

/* Podsumowanie */
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .cart_totals h2 {
  margin: 0 0 8px; padding: 0;
  font-family: var(--jd-serif); font-size: 26px; font-weight: 600; font-style: normal; line-height: 1.2;
  letter-spacing: -.005em; word-spacing: normal; text-transform: none; text-decoration: none; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .cart_totals table.shop_table { margin: 0; border: 0; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .cart_totals table.shop_table td {
  padding: 14px 0; border: 0; border-top: 1px solid var(--jd-line);
  font-family: var(--jd-sans); font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .cart_totals table.shop_table tr:first-child td { border-top: 0; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .cart_totals table.shop_table td::before {
  font-family: var(--jd-sans); font-size: 15px; font-weight: 500; font-style: normal; line-height: 1.4;
  letter-spacing: 0; text-transform: none; color: var(--jd-text);
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .cart_totals table.shop_table td .woocommerce-Price-amount {
  font-family: var(--jd-sans); font-size: 15px; font-weight: 700; font-style: normal; letter-spacing: 0; text-transform: none; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .cart_totals table.shop_table tr.order-total td { padding-top: 18px; border-top: 1.5px solid var(--jd-ink); }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .cart_totals table.shop_table tr.order-total td::before { font-size: 17px; font-weight: 700; line-height: 32px; color: var(--jd-ink); }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .cart_totals table.shop_table tr.order-total td .woocommerce-Price-amount { font-size: 24px; font-weight: 800; line-height: 32px; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .cart_totals .includes_tax { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 500; color: var(--jd-muted); }

/* Wybór dostawy jako klikalne kafelki */
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method { margin: 12px 0 0; padding: 0; list-style: none; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li {
  position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 12px;
  margin: 0 0 10px; padding: 12px 14px; list-style: none; text-align: start;
  background: #fff; border: 1.5px solid var(--jd-line); border-radius: 16px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li:hover { border-color: #BFAE8F; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li:has(input:checked) { border-color: var(--jd-ink); box-shadow: inset 0 0 0 1px var(--jd-ink); }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li input.shipping_method {
  width: 18px; height: 18px; margin: 0; accent-color: var(--jd-accent); cursor: pointer;
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li label {
  margin: 0; cursor: pointer; font-family: var(--jd-sans); font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--jd-ink);
}
/* cały kafelek klikalny – etykieta rozciąga się na całe pole */
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li label::after { content: ""; position: absolute; inset: 0; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li label .woocommerce-Price-amount { font-weight: 800; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li .inpost_pl-shipping-method-meta-wrap {
  grid-column: 2; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px; margin-top: 8px; text-align: start;
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li .easypack-shipping-method-logo { top: 0; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li .easypack-shipping-method-logo img {
  max-height: 28px; width: auto; margin: 0; border-radius: 5px;
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li span#inpost_pl_delivery_terms {
  margin: 0; padding: 4px 10px; border: 0; border-radius: 999px; background: var(--jd-chip);
  font-family: var(--jd-sans); font-size: 12px; font-weight: 700; line-height: 1.2; color: var(--jd-muted);
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .woocommerce-shipping-destination {
  margin: 4px 0 0; font-family: var(--jd-sans); font-size: 13px; font-weight: 500; line-height: 1.5; color: var(--jd-muted);
}
/* Kalkulator wysyłki niepotrzebny – dostawa tylko w Polsce, cena nie zależy od adresu */
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .woocommerce-shipping-calculator { display: none; }

/* Główny przycisk – przejście do zamówienia */
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .wc-proceed-to-checkout { margin: 0; padding: 20px 0 0; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .wc-proceed-to-checkout a.checkout-button.button {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; min-height: 60px; margin: 0; padding: 0 24px;
  background: var(--jd-accent); border: 0; border-radius: 999px;
  box-shadow: 0 10px 24px -10px rgba(176, 40, 31, .55);
  font-family: var(--jd-sans); font-size: 17px; font-weight: 700; font-style: normal; line-height: 1;
  letter-spacing: 0; word-spacing: normal; text-transform: none; text-decoration: none; color: #fff;
  transition: background-color .25s ease, transform .25s var(--jd-ease), box-shadow .25s ease;
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .wc-proceed-to-checkout a.checkout-button.button::after {
  content: "→"; font-size: 18px; transition: transform .3s var(--jd-ease);
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .wc-proceed-to-checkout a.checkout-button.button:hover {
  background: var(--jd-accent-dark); color: #fff; transform: translateY(-2px);
  box-shadow: 0 16px 30px -12px rgba(176, 40, 31, .6);
}
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .wc-proceed-to-checkout a.checkout-button.button:hover::after { transform: translateX(4px); }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .wc-proceed-to-checkout a.checkout-button.button:focus-visible { outline: 3px solid var(--jd-accent); outline-offset: 3px; }
body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce .wc-proceed-to-checkout::after {
  content: "Bezpieczna płatność przez Przelewy24 – BLIK, przelew lub karta";
  display: block; margin-top: 12px; text-align: center;
  font-family: var(--jd-sans); font-size: 13px; font-weight: 500; line-height: 1.4; color: var(--jd-muted);
}

/* Telefon: wiersz produktu jako karta (WooCommerce zamienia tabelę na bloki z etykietami) */
@media (max-width: 768px) {
  body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart tr.cart_item {
    position: relative; display: block; padding: 6px 0 10px; border-top: 1px solid var(--jd-line);
  }
  body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart tr.cart_item:first-child { border-top: 0; }
  body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart tr.cart_item td { padding: 8px 0; border: 0; }
  body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart tr.cart_item td.product-remove {
    position: absolute; top: 12px; right: 0; width: auto; padding: 0;
  }
  body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart tr.cart_item td.product-name { padding-right: 44px; }
  body .elementor-widget-woocommerce-cart.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.cart tr.cart_item td::before { font-weight: 600; color: var(--jd-muted); }
}


/* =============================================================================
   ZAMÓWIENIE – widżet „Checkout” (Elementor Pro) + InPost + Przelewy24
   Selektory mocne z tego samego powodu co w koszyku (style widżetu ładują się później).
   ============================================================================= */

/* Układ: dane po lewej, podsumowanie, kupon i płatność po prawej */
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .e-checkout__container {
  grid-template-columns: minmax(0, 1fr) minmax(340px, 460px); column-gap: clamp(20px, 3vw, 40px); row-gap: 20px; align-items: start;
}
@media (max-width: 1024px) {
  body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .e-checkout__container { grid-template-columns: minmax(0, 1fr); }
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce :is(#customer_details .col-1, .e-checkout__order_review, .e-coupon-box, .shipping_address, .woocommerce-additional-fields, #payment) {
  margin: 0 0 20px; padding: clamp(18px, 2.6vw, 28px);
  background: var(--jd-card); border: 1px solid var(--jd-line); border-radius: 24px;
}

/* Nagłówki sekcji */
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce :is(.woocommerce-billing-fields > h3, #order_review_heading, .e-woocommerce-coupon-nudge, .woocommerce-additional-fields > h3) {
  margin: 0 0 18px; padding: 0;
  font-family: var(--jd-serif); font-size: 24px; font-weight: 600; font-style: normal; line-height: 1.2;
  letter-spacing: -.005em; text-transform: none; color: var(--jd-ink);
}

/* Etykiety pól */
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce :is(#customer_details, .e-coupon-box) .form-row label {
  margin-bottom: 6px; font-family: var(--jd-sans); font-size: 14px; font-weight: 700; line-height: 1.4; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #customer_details .form-row label .required { color: var(--jd-accent); text-decoration: none; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #customer_details .form-row label .optional { font-weight: 500; color: var(--jd-muted); }

/* Pola, listy i kupon – białe z jasną ramką (widżet daje szare tło bez ramki) */
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce :is(#customer_details, .e-coupon-box) .form-row :is(.input-text, select, textarea) {
  width: 100%; min-height: 52px; margin: 0; padding: 13px 16px;
  background: #fff; border: 1.5px solid var(--jd-line); border-radius: 14px; box-shadow: none;
  font-family: var(--jd-sans); font-size: 16px; font-weight: 500; line-height: 1.4; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce :is(#customer_details, .e-coupon-box) .form-row :is(.input-text, select, textarea):focus {
  border-color: var(--jd-ink); box-shadow: 0 0 0 4px rgba(31, 42, 34, .08); outline: none;
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce :is(#customer_details, .e-coupon-box) .input-text::placeholder { color: #8B887C; opacity: 1; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .select2-container--default .select2-selection--single {
  height: 52px; background: #fff; border: 1.5px solid var(--jd-line); border-radius: 14px;
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 40px 0 16px; line-height: 49px; font-family: var(--jd-sans); font-size: 16px; font-weight: 500; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .select2-container--default .select2-selection--single .select2-selection__arrow { height: 49px; right: 10px; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .select2-container--default.select2-container--focus .select2-selection--single,
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .select2-container--default.select2-container--open .select2-selection--single { border-color: var(--jd-ink); }
/* Kraj jako zwykły tekst (gdy sprzedaż tylko do Polski) */
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #customer_details .form-row strong { font-family: var(--jd-sans); font-size: 16px; font-weight: 600; color: var(--jd-ink); }

/* „Wysłać na inny adres?” */
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #ship-to-different-address {
  margin: 4px 0 16px; padding: 0;
  font-family: var(--jd-sans); font-size: 16px; font-weight: 700; font-style: normal; line-height: 1.4; text-transform: none;
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #ship-to-different-address label {
  display: inline-flex; align-items: center; gap: 10px; cursor: pointer; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #ship-to-different-address span { font-weight: 700; color: var(--jd-ink); }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce input[type="checkbox"] {
  width: 18px; height: 18px; margin: 0; accent-color: var(--jd-accent); cursor: pointer;
}

/* Podsumowanie zamówienia: tabela jako siatka (produkt | kwota), przesyłka na całą szerokość */
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.shop_table.woocommerce-checkout-review-order-table,
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table :is(thead, tbody, tfoot) {
  display: block; width: 100%; margin: 0; border: 0;
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table tr {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; align-items: baseline;
  border-top: 1px solid var(--jd-line);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table thead tr { border-top: 0; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table :is(th, td) {
  display: block; max-width: none; padding: 12px 0; border: 0; background: none; text-align: start;
  font-family: var(--jd-sans); font-size: 15px; font-weight: 500; font-style: normal; line-height: 1.45;
  letter-spacing: 0; text-transform: none; color: var(--jd-text);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table :is(th, td):last-child { text-align: end; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table thead th {
  padding-top: 0; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--jd-muted);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table .cart_item td.product-name {
  max-width: none; padding-inline-end: 0; font-weight: 600; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table .cart_item .product-quantity {
  margin-left: 4px; font-weight: 700; white-space: nowrap; color: var(--jd-muted);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table :is(.cart_item td.product-total, .cart-subtotal td) { font-weight: 700; color: var(--jd-ink); white-space: nowrap; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals { grid-template-columns: minmax(0, 1fr); }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th { padding-bottom: 0; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td { text-align: start; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table tr.order-total { border-top: 1.5px solid var(--jd-ink); align-items: center; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table tr.order-total :is(th, td) { padding: 16px 0 0; font-size: 17px; font-weight: 700; color: var(--jd-ink); }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table tr.order-total td .woocommerce-Price-amount { font-size: 24px; font-weight: 800; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table tr.order-total .includes_tax { display: block; font-size: 12.5px; font-weight: 500; color: var(--jd-muted); }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce table.woocommerce-checkout-review-order-table .woocommerce-Price-amount { font: inherit; color: inherit; }

/* Wybór dostawy jako kafelki (jak w koszyku) */
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method { margin: 10px 0 0; padding: 0; list-style: none; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li {
  position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 12px;
  margin: 0 0 10px; padding: 12px 14px; list-style: none; text-align: start;
  background: #fff; border: 1.5px solid var(--jd-line); border-radius: 16px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li:hover { border-color: #BFAE8F; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li:has(input:checked) { border-color: var(--jd-ink); box-shadow: inset 0 0 0 1px var(--jd-ink); }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li input.shipping_method {
  width: 18px; height: 18px; margin: 0; accent-color: var(--jd-accent); cursor: pointer;
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li label {
  margin: 0; cursor: pointer; font-family: var(--jd-sans); font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li label::after { content: ""; position: absolute; inset: 0; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li label .woocommerce-Price-amount { font-weight: 800; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li .inpost_pl-shipping-method-meta-wrap {
  grid-column: 2; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px; margin-top: 8px;
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li .easypack-shipping-method-logo { top: 0; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li .easypack-shipping-method-logo img { max-height: 28px; width: auto; margin: 0; border-radius: 5px; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #shipping_method li span#inpost_pl_delivery_terms {
  margin: 0; padding: 4px 10px; border: 0; border-radius: 999px; background: var(--jd-chip);
  font-family: var(--jd-sans); font-size: 12px; font-weight: 700; line-height: 1.2; color: var(--jd-muted);
}

/* InPost: „Wybierz punkt odbioru” i wybrany Paczkomat (wtyczka ma tu style z !important) */
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce .easypack_show_geowidget {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; min-height: 52px; margin: 4px 0 12px; padding: 0 22px;
  background: #FFCD00; border: 0 !important; border-radius: 999px; box-shadow: none !important;
  font-family: var(--jd-sans); font-size: 15px !important; font-weight: 700; line-height: 1.2; text-transform: none; color: var(--jd-ink);
  transition: background-color .2s ease, transform .2s var(--jd-ease);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce .easypack_show_geowidget:hover { background: #F2C200; color: var(--jd-ink); transform: translateY(-1px); }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce .ep-chosen-parcel-machine {
  display: block; margin: 6px 0 10px; padding: 10px 14px; border-radius: 14px;
  background: var(--jd-green-soft); color: var(--jd-green); font-family: var(--jd-sans); font-size: 14px; font-weight: 700; line-height: 1.45;
}

/* Kupon */
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce .e-coupon-box .e-coupon-anchor { margin-top: 0; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce .e-coupon-box .e-coupon-anchor-description {
  margin: 0 0 10px; font-family: var(--jd-sans); font-size: 14px; font-weight: 500; line-height: 1.5; color: var(--jd-text);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce .e-coupon-box .coupon-container-grid { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
/* clearfix WooCommerce (::before/::after w .form-row) wpadałby do siatki jako puste komórki */
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce .e-coupon-box .coupon-container-grid::before,
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce .e-coupon-box .coupon-container-grid::after { content: none; display: none; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce .e-coupon-box .coupon-container-grid .col { width: auto; max-width: none; float: none; text-align: start; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce .e-coupon-box #coupon_code { margin: 0; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce .e-coupon-box .button {
  width: auto; min-height: 52px; margin: 0; padding: 0 24px;
  background: transparent; border: 1.5px solid var(--jd-ink); border-radius: 999px; box-shadow: none;
  font-family: var(--jd-sans); font-size: 15px; font-weight: 700; line-height: 1; text-transform: none; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce .e-coupon-box .button:hover { background: var(--jd-ink); color: var(--jd-cream); }

/* Płatność: metody jako kafelki */
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment::before {
  content: "Płatność"; display: block; margin-bottom: 14px;
  font-family: var(--jd-serif); font-size: 24px; font-weight: 600; line-height: 1.2; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment ul.payment_methods { margin: 0 0 16px; padding: 0; border: 0; list-style: none; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment ul.payment_methods > li.wc_payment_method {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px;
  margin: 0 0 10px; padding: 13px 14px; list-style: none;
  background: #fff; border: 1.5px solid var(--jd-line); border-radius: 16px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment ul.payment_methods > li.wc_payment_method:hover { border-color: #BFAE8F; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment ul.payment_methods > li.wc_payment_method:has(> input:checked) { border-color: var(--jd-ink); box-shadow: inset 0 0 0 1px var(--jd-ink); }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment ul.payment_methods > li.wc_payment_method > input.input-radio {
  width: 18px; height: 18px; margin: 0; accent-color: var(--jd-accent); cursor: pointer;
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment ul.payment_methods > li.wc_payment_method > label {
  flex: 1 1 0; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; cursor: pointer;
  font-family: var(--jd-sans); font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--jd-ink);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment ul.payment_methods > li.wc_payment_method > label img {
  width: auto; max-height: 22px; margin: 0; padding: 0;
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment ul.payment_methods .payment_box {
  flex-basis: 100%; margin: 2px 0 0; padding: 12px 14px; border-radius: 12px;
  background: var(--jd-cream); color: var(--jd-text); font-family: var(--jd-sans); font-size: 14px; line-height: 1.5;
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment ul.payment_methods .payment_box p { margin: 0; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment .woocommerce-privacy-policy-text p {
  margin: 0 0 12px; font-family: var(--jd-sans); font-size: 13px; line-height: 1.5; color: var(--jd-muted);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment .woocommerce-terms-and-conditions-wrapper .form-row { margin: 0 0 16px; padding: 0; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment .woocommerce-terms-and-conditions-wrapper label.checkbox {
  display: inline-flex; align-items: flex-start; gap: 10px; margin: 0; cursor: pointer;
  font-family: var(--jd-sans); font-size: 14px; font-weight: 500; line-height: 1.5; color: var(--jd-text);
}
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment .woocommerce-terms-and-conditions-wrapper label.checkbox input { margin-top: 2px; flex: none; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text { color: var(--jd-text); }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment .woocommerce-terms-and-conditions-wrapper a { color: var(--jd-accent); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment .woocommerce-terms-and-conditions-wrapper .required { color: var(--jd-accent); text-decoration: none; }
body .elementor-widget-woocommerce-checkout-page.elementor-widget.elementor-element.elementor-element .woocommerce #payment #place_order.button {
  width: 100%; min-height: 60px; padding: 0 24px; border-radius: 999px; color: #fff;
}


/* =============================================================================
   ZAMÓWIENIA TELEFONICZNE: sekcja informacyjna (9-koszyk/2-zamowienie-telefoniczne.html)
   Dopóki sekcja jest na stronie, przycisk „Przejdź do kasy” w koszyku jest ukryty
   (płatności online jeszcze nie działają). Usuń sekcję ze strony – przycisk wróci sam.
   ============================================================================= 
body:has(.jd-po) .elementor-widget-woocommerce-cart.elementor-element .wc-proceed-to-checkout { display: none; }*/

.jd-po { background: var(--jd-cream); padding-block: 0 clamp(28px, 4vw, 48px); }
.jd-po__card {
  display: grid; gap: clamp(24px, 4vw, 56px); padding: clamp(22px, 4vw, 48px);
  border: 1px solid var(--jd-line); border-radius: 28px; background: var(--jd-card);
}
@media (min-width: 900px) {
  .jd-po__card { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: start; }
}
.jd-po__intro { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.jd .jd-po__title { font-size: clamp(30px, 1.2rem + 1.6vw, 42px); }
.jd-po__title em { font-style: italic; font-weight: 500; color: var(--jd-accent); }
.jd .jd-po__lead { max-width: 34rem; font-size: 17px; line-height: 1.65; color: var(--jd-text); }
.jd-po__intro :is(a, button).jd-btn { margin-top: 6px; }
@media (max-width: 599px) {
  .jd-po__intro :is(a, button).jd-btn { width: 100%; }
}

.jd-po__side { display: flex; flex-direction: column; gap: 28px; }
.jd-po__steps { display: flex; flex-direction: column; gap: 20px; counter-reset: jd-po; }
.jd-po__steps li { counter-increment: jd-po; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 14px; }
.jd-po__steps li::before {
  content: counter(jd-po); width: 36px; height: 36px; border-radius: 50%;
  display: grid; place-items: center; background: var(--jd-ink); color: var(--jd-cream);
  font-size: 15px; font-weight: 700; line-height: 1;
}
.jd .jd-po__step-title { margin-bottom: 4px; font-size: 17px; font-weight: 800; line-height: 1.3; color: var(--jd-ink); }
.jd .jd-po__step-text { font-size: 15.5px; line-height: 1.6; color: var(--jd-text); }

.jd .jd-po__pay {
  display: flex; flex-direction: column; gap: 16px; padding: clamp(18px, 2.5vw, 26px);
  border: 1px solid var(--jd-line); border-radius: 20px; background: #fff;
}
.jd-po__pay-row { display: flex; flex-direction: column; gap: 8px; }
.jd-po__pay-row + .jd-po__pay-row { padding-top: 16px; border-top: 1px solid var(--jd-line); }
.jd .jd-po__pay dt { margin: 0; font-size: 13px; font-weight: 700; line-height: 1.4; letter-spacing: .1em; text-transform: uppercase; color: var(--jd-muted); }
.jd .jd-po__pay dd { display: flex; flex-direction: column; gap: 8px; }
.jd .jd-po__pay-text { font-size: 15.5px; line-height: 1.55; color: var(--jd-text); }

/* Numer konta = przycisk kopiujący (obsługuje go skrypt data-jd-copy z Custom Code) */
.jd-po button.jd-po__iban,
.jd-po button.jd-po__iban:focus {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 14px; width: 100%;
  padding: 14px 18px; border: 1.5px dashed var(--jd-line); border-radius: 14px; background: var(--jd-card);
  color: var(--jd-ink); text-align: left;
  transition: background-color .2s ease, border-color .2s ease;
}
.jd-po button.jd-po__iban:hover { border-color: var(--jd-ink); background: var(--jd-chip); color: var(--jd-ink); }
.jd-po button.jd-po__iban:focus-visible { outline: 3px solid var(--jd-accent); outline-offset: 3px; }
.jd-po__iban-num { font-size: clamp(17px, 1rem + .4vw, 21px); font-weight: 800; line-height: 1.3; letter-spacing: .03em; font-variant-numeric: tabular-nums; }
.jd-po__iban-hint { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--jd-accent); }
.jd-po__iban-done { display: none; }
.jd-po__iban.is-copied .jd-po__iban-idle { display: none; }
.jd-po__iban.is-copied .jd-po__iban-done { display: inline; }/* End custom CSS */