/* ============================================================
   WOOCOMMERCE NOTICES
   ============================================================ */

/* Border-radius — slightly smaller than cards */
body .woocommerce-message,
body .woocommerce-error,
body .woocommerce-info,
body .wd-notice,
body div.wc-block-components-notice-banner {
    --wd-brd-radius: 8px;
    border-radius: 8px !important;
}

:is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
    border-radius: var(--bs-card-border-radius) !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    color: var(--bs-gray-700) !important;
}
:is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .amount {
    color: inherit !important;
}

/* Success — verde teal secondario */
.woocommerce-message {
    background-color: rgba(var(--bs-secondary-rgb), 0.10) !important;
    box-shadow: inset 4px 0 0 var(--bs-secondary) !important;
}
.woocommerce-message::before {
    color: var(--bs-secondary) !important;
}

/* Info — primario (blu-teal scuro) */
.woocommerce-info {
    background-color: rgba(var(--bs-primary-rgb), 0.10) !important;
    box-shadow: inset 4px 0 0 var(--bs-primary) !important;
}
.woocommerce-info::before {
    color: var(--bs-primary) !important;
}

/* Error — rosso danger */
.woocommerce-error {
    background-color: rgba(var(--bs-danger-rgb), 0.10) !important;
    box-shadow: inset 4px 0 0 var(--bs-danger) !important;
}
.woocommerce-error::before {
    color: var(--bs-danger) !important;
}

/* Pulsanti dentro i notice */
:is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .button,
:is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .wc-backward {
    color: var(--bs-gray-900) !important;
    border-color: rgba(var(--bs-gray-800-rgb), 0.35) !important;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.wd-load-more {
    --btn-color: var(--color-gray-800);
    --btn-color-hover: var(--color-gray-800);
    --btn-brd-color: var(--brdcolor-gray-300);
    --btn-brd-color-hover: var(--brdcolor-gray-500);
    --btn-bgcolor: transparent;
    --btn-bgcolor-hover: transparent;
    --btn-brd-width: 1px;
    border-radius: var(--btn-brd-radius, 50px);
    border-width: 2px!important;
    border-color: var(--bs-gray-800)!important;
    color: var(--bs-gray-800)!important;
}
.wd-load-more:hover {
    border-color: var(--bs-gray-800)!important;
    color: var(--bs-gray-800)!important;
}
:is(.btn,.button,button,[type=submit],[type=button]) {
    text-transform: none!important;
}
.products-slider :is(.btn,.button,button,[type=submit],[type=button]) {
    border: 1.5px solid var(--bs-gray-500);
    background: transparent;
    color: var(--bs-gray-800);
    transition: .3s ease-in-out;
}
.blog-slider .btn.btn-style-bordered {
    --btn-bgcolor: transparent;
    --btn-brd-width: 1.5px;
    border-color: var(--bs-gray-500);
}
.products-slider :is(.btn,.button,button,[type=submit],[type=button]):hover,
.blog-slider :is(.btn,.button,button,[type=submit],[type=button]):hover {
    background-color: rgba(var(--bs-secondary-rgb), .06);
    border: 1.5px solid var(--bs-secondary);
}
.wd-action-btn :is(.btn,.button,button,[type=submit],[type=button]) {
    border: none;
}
.wd-action-btn :is(.btn,.button,button,[type=submit],[type=button]):hover {
    background-color: none;
    border: none;
}
.wd-post-read-more.wd-style-link a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    outline: none;
    border-radius: var(--btn-brd-radius, 100px);
    vertical-align: middle;
    text-align: center;
    text-decoration: none !important;
    text-shadow: none;
    line-height: 1.2;
    margin-top: 10px;
    color: var(--btn-color, var(--bs-gray-900));
    border: 1.5px solid var(--bs-gray-500)!important;
    background-color: var(--btn-bgcolor, transparent);
    box-shadow: var(--btn-box-shadow, unset);
    text-transform: none;
    font-weight: var(--btn-font-weight, 600);
    font-family: var(--btn-font-family, inherit);
    font-style: var(--btn-font-style, unset);
    padding: var(--btn-padding, 5px 20px);
    min-height: var(--btn-height, 42px);
    font-size: var(--btn-font-size, 13px);
    --btn-bgcolor: transparent;
    --btn-brd-width: 1px;
    border-color: var(--bs-gray-800);
    transition: all .3s ease;
}
.wd-post-read-more.wd-style-link a:hover,
.wd-post-read-more.wd-style-link a:focus {
    background-color: rgba(var(--bs-secondary-rgb), .06);
    border-color: var(--bs-secondary)!important;
}
.blog .wd-post-read-more.wd-style-link a {
    margin-bottom: 30px;
}
.btn.btn-style-bordered {
    --btn-brd-width: 1.5px!important;
}

/* ============================================================
   AJAX PRODUCTS TABS
   ============================================================ */
.wd-products-tabs .wd-nav-tabs > li > a {
    border-width: 1.5px!important;
}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testimon-style-boxed .testimonial-inner {
    box-shadow: none!important;
    border: 1px solid var(--bs-gray-300);
}


/* ============================================================
   SEARCH
   ============================================================ */
.searchform[class*="wd-style-with-bg"] .searchsubmit {
    --btn-color: #fff;
    --btn-bgcolor: var(--wd-secondary-color);
}
.wd-search-full-screen .searchform input[type="text"]::placeholder {
    opacity: 0.7!important;
    color: #000!important;
}
.wd-search-full-screen {
    --wd-form-height: 70px!important;
}
.wd-search-full-screen .searchform input[type="text"] {
    font-size: 28px!important;
    caret-color: transparent!important;
}
.wd-search-full-screen .searchform input[type="text"]:focus {
    caret-color: auto!important;
}
.wd-search-full-screen .wd-close-search.wd-style-icon {
    --wd-action-icon-size: 28px!important;
    top: 5px!important;
    transform: none!important;
}
.wd-search-full-screen .wd-close-search.wd-style-icon > a {
    width: 65px!important;
    height: 65px!important;
}
.wd-search-requests ul a {
    font-size: .7rem!important;
    margin-top: 3px!important;
}
.wd-search-requests ul a:hover {
    border: 1px solid var(--bs-secondary)!important;
    color: var(--bs-secondary)!important;
}
.wd-search-requests .wd-search-title.title,
.wd-search-results .wd-search-title.title {
    display: flex!important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-align: center!important;
    text-transform: uppercase!important;
    font-size: .75rem!important;
    font-weight: 700!important;
    letter-spacing: 0.06em!important;
    color: var(--bs-primary)!important;
    background: rgba(19, 103, 138, 0.07)!important;
    border: 1px solid rgba(19, 103, 138, 0.2)!important;
    padding: 8px 16px 6px 16px!important;
    border-radius: 20px!important;
    margin-bottom: 12px!important;
    width: fit-content!important;
    margin-inline: auto!important;
}
.wd-search-requests .wd-search-title.title::before {
    font-family: 'Font Awesome 7 Sharp';
    font-weight: 300;
    font-style: normal;
    content: '\f06d'; /* fa-fire */
    font-size: .85rem;
    color: var(--bs-primary);
    line-height: 1;
}
/* Titolo "Categorie" */
.wd-search-suggestions > .wd-search-title.title:has(+ .wd-suggestions-group.wd-type-categories)::before {
    font-family: 'Font Awesome 7 Sharp';
    font-weight: 300;
    font-style: normal;
    content: '\f02b'; /* fa-tag */
    font-size: .85rem;
    color: var(--bs-primary);
    line-height: 1;
}
/* Titolo "Prodotti" */
.wd-search-suggestions > .wd-search-title.title:has(+ .wd-suggestions-group.wd-type-product)::before {
    font-family: 'Font Awesome 7 Sharp';
    font-weight: 300;
    font-style: normal;
    content: '\f290'; /* fa-bag-shopping */
    font-size: .85rem;
    color: var(--bs-primary);
    line-height: 1;
    position: relative;
    top: -0.5px;
}
.wd-search-full-screen :is(.wd-search-history,
.wd-search-requests,
.wd-search-info-text):not(:last-child) {
    padding-bottom: 0!important; 
    border-bottom: none!important;
}
.wd-search-full-screen .wd-all-results {
    background-color: var(--bs-primary)!important;
    color: #fff!important;
    font-size: 0.8rem!important;
    letter-spacing: 0.5px!important;
    transition: background-color 0.2s ease!important;
}
.wd-search-full-screen .wd-all-results:hover {
    background-color: color-mix(in srgb, var(--bs-primary) 90%, white)!important;
    color: #fff!important;
}
.wd-search-requests ul a {
    padding: 8px 10px!important;
    border-radius: 30px!important;
    background: none!important;
    border: 1px solid var(--bs-gray-400)!important;
    color: var(--bs-gray-600)!important;
}

/* ============================================================
   BLOG
   ============================================================ */

.wd-post-cat.wd-style-with-bg,
.wd-post-reply.wd-style-1 .wd-replies-count {
    background-color: var(--wd-secondary-color)!important;
}
.wd-post-reply.wd-style-1 a:after {
    font-family: "compformed-icons"!important;
    content: "\f119"!important;
    font-size: 1.35rem!important;
    position: relative;
    top: 2px;
    z-index: 0;
}
.wd-post-reply.wd-style-1 .wd-replies-count { 
    z-index: 1;
}

/* Meta post (autore + data + commenti) */
.single .wd-post-author {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .78rem;
    color: #444;
}
.single .wd-post-author span {
    font-size: .78rem;
    color: #555;
}
.single .wd-post-author img.avatar {
    border-radius: 50%;
    width: 26px !important;
    height: 26px !important;
}
.single .wd-post-author a.author {
    font-weight: 600;
    color: #222;
    text-decoration: none;
}
.single .wd-post-author a.author:hover {
    color: var(--wd-secondary-color);
}
.single .wd-post-date.wd-style-default,
.single .wd-modified-date {
    display: none;
}
.single .wd-post-date.wd-style-default {
    display: inline;
}
.single .wd-post-date.wd-style-default time {
    font-size: .78rem;
    color: #555;
}

/* Social share */
.single .wd-social-icons.social-share {
    display: flex;
    align-items: center;
    gap: 6px;
}
.single .wd-social-icons.social-share .wd-label {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    width: auto !important;
    flex-shrink: 0;
    white-space: nowrap;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--bs-primary);
    background: rgba(19, 103, 138, 0.07);
    border: 1px solid rgba(19, 103, 138, 0.2);
    border-radius: 20px;
    padding: 4px 12px;
    margin-right: 4px;
}
.single .wd-social-icons.social-share .wd-label::before {
    font-family: 'Font Awesome 7 Sharp';
    font-weight: 300; /* light */
    font-style: normal;
    content: '\f1e0'; /* fa-share-nodes */
    font-size: .85rem;
    color: var(--bs-primary);
    line-height: 1;
}
.single .wd-social-icons.social-share .wd-social-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid var(--bs-gray-500);
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
    color: var(--bs-gray-600) !important;
}
.single .wd-social-icons .wd-icon:before {
    font-size: .9rem;
}
.single .wd-social-icons.social-share .wd-social-icon:hover {
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
    color: #fff !important;
}

/* Hide share section on wishlist page */
.wd-wishlist-head .wd-social-icons,
.wd-wishlist-group-head .wd-social-icons {
    display: none !important;
}

/* Commenti */
.single .comments-area {
    margin-top: 40px;
}
.single .comments-area :is(.comments-title, .comment-reply-title) {
    font-size: 1.1rem !important;
    font-weight: 700;
    color: #222;
    padding-bottom: 12px;
    border-bottom: 1.5px solid var(--wd-secondary-color);
    margin-bottom: 24px;
}
.single .comments-area .comment {
    padding-block: 20px;
    border-bottom: 1px solid rgba(0,0,0,.08) !important;
}
.single .comments-area .comment-author b a {
    font-weight: 700;
    color: #222;
}
.single .comments-area .comment-author b a:hover {
    color: var(--wd-secondary-color);
}
.single .comments-area .comment-metadata a,
.single .comments-area .comment-metadata time {
    font-size: .72rem;
    color: #888;
}
.single .comments-area .comment-content p {
    font-size: .9rem;
    color: #444;
    line-height: 1.7;
}
.single .comments-area .reply a {
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--wd-secondary-color);
}

/* Form lascia un commento */
.single #respond {
    background-color: rgba(0,0,0,.03);
    border-radius: 12px;
    padding: 28px 28px 20px;
    margin-top: 32px;
}
.single #respond .comment-reply-title {
    font-size: 1.4rem !important;
    font-weight: 700;
    color: #222;
    border-bottom: 1px solid var(--wd-secondary-color) !important;
    padding-bottom: 5px !important;
    margin-bottom: 15px !important;
}
.single #respond .comment-form label {
    font-size: .85rem;
    font-weight: 600;
    color: #444;
    display: block;
    margin-bottom: 4px;
}
.single #respond .comment-form input[type="text"],
.single #respond .comment-form input[type="email"],
.single #respond .comment-form input[type="url"],
.single #respond .comment-form textarea {
    width: 100%;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: .875rem;
    background-color: #fff;
    color: #222;
    transition: border-color .2s ease;
}
.single #respond .comment-form input[type="text"]:focus,
.single #respond .comment-form input[type="email"]:focus,
.single #respond .comment-form input[type="url"]:focus,
.single #respond .comment-form textarea:focus {
    outline: none;
    border-color: var(--wd-secondary-color);
}
.single #respond .comment-form textarea {
    min-height: 130px;
    resize: vertical;
}
.single #respond .form-submit {
    position: relative;
    display: inline-block;
}
.single #respond .form-submit::before {
    font-family: "Font Awesome 7 Pro" !important;
    font-weight: 300 !important;
    content: "\f075" !important; /* fa-comment */
    position: absolute;
    left: 28px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    font-size: .9rem;
    pointer-events: none;
    z-index: 1;
}
.single #respond .form-submit .submit {
    background-color: var(--wd-secondary-color) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 10px 24px 10px 38px !important;
    font-size: .85rem !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: opacity .2s ease;
}
.single #respond .form-submit .submit:hover {
    opacity: .85;
}

/* ============================================================
   CONTACT FORM 7
   ============================================================ */

/* Classe da assegnare in Elementor (Advanced → CSS Classes) al container
   sinistro del popup contatti, per renderlo scrollabile autonomamente */
.popup-scrollable {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: 85vh;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,.2) transparent;
}
.popup-scrollable::-webkit-scrollbar {
    width: 4px;
}
.popup-scrollable::-webkit-scrollbar-thumb {
    background-color: rgba(0,0,0,.2);
    border-radius: 4px;
}

.wpcf7-acceptance input[type="checkbox"] {
    margin-right: 0;
}
.wpcf7 p:has(.wpcf7-acceptance) {
    font-size: .9rem !important;
    line-height: 1.5;
}

.wpcf7-not-valid-tip {
    display: none !important;
}

/* Bordo rosso sull'input non valido — stesso colore di WooCommerce (#CA1919) */
input.wpcf7-not-valid,
textarea.wpcf7-not-valid,
select.wpcf7-not-valid {
    border-color: #CA1919 !important;
    outline: none;
    transition: border-color .2s ease;
}

/* Submit button con icona — ::before sul container padre (input non supporta pseudo-elementi) */
.wpcf7 p:has(> input.wpcf7-submit) {
    position: relative;
    display: inline-block;
}
.wpcf7 p:has(> input.wpcf7-submit)::before {
    font-family: "Font Awesome 7 Pro" !important;
    font-weight: 300 !important;
    content: "\f1d8" !important; /* fa-paper-plane */
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    font-size: .9rem;
    pointer-events: none;
    z-index: 1;
}
.wpcf7 input.wpcf7-submit {
    padding-left: 40px !important;
}

/* Response output — stile coerente con le notice del tema */
div.wpcf7-response-output {
    border: none !important;
    border-radius: 4px !important;
    font-size: .875rem !important;
    font-weight: 500 !important;
    margin-top: 16px !important;
    padding: 14px 18px 14px 54px !important;
}
.wpcf7 form.sent .wpcf7-response-output {
    background-color: var(--notices-success-bg) !important;
    color: var(--notices-success-color) !important;
    border-left: 4px solid #1a7a4a !important;
}
.wpcf7 form:not(.sent) .wpcf7-response-output {
    background-color: rgba(202, 25, 25, .08) !important;
    color: #CA1919 !important;
    border-left: 4px solid #CA1919 !important;
}

/******************************/

/* -- Post Navigation ---------------------------------------- */
.wd-page-nav {
    background: none;
    border: none;
    border-radius: 0;
    padding: 20px 0;
    gap: 12px;
}

/* Label "Recenti" / "Meno recente" */
.wd-page-nav-btn .wd-label {
    font-size: .7rem;
    font-weight: 600!important;
    text-transform: uppercase;
    letter-spacing: .06em!important;
    color: var(--bs-gray-500)!important;
    margin-bottom: 4px;
    display: block;
}

/* Post title */
.wd-page-nav-btn .wd-entities-title {
    font-size: .875rem;
    color: var(--bs-dark);
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.wd-page-nav-btn:hover .wd-entities-title {
    color: var(--bs-secondary) !important;
}

/* Arrow icon circles */
.wd-page-nav-icon {
    background-color: #fff;
    border-color: var(--brdcolor-gray-300) !important;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.wd-page-nav-btn:hover .wd-page-nav-icon {
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary) !important;
    color: #fff;
}

/* Replace woodmart-font icons with FA7 Light */
.prev-btn .wd-page-nav-icon:after,
.next-btn .wd-page-nav-icon:after {
    font-family: "Font Awesome 7 Pro" !important;
    font-weight: 300 !important;
    font-size: 14px;
}
.prev-btn .wd-page-nav-icon:after {
    content: "\f053" !important; /* fa-chevron-left */
}
.next-btn .wd-page-nav-icon:after {
    content: "\f054" !important; /* fa-chevron-right */
}

/* Back-to-archive (grid icon) */
.back-to-archive {
    flex-shrink: 0;
    border: 1px solid var(--brdcolor-gray-300);
    border-radius: 50%;
    background-color: #fff;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.back-to-archive:after {
    font-family: "Font Awesome 7 Pro" !important;
    font-weight: 100 !important;
    content: "\e197" !important; /* fa-grid-2 */
}
.back-to-archive:hover {
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
    --wd-link-color-hover: #fff;
}

/* Hide the comma separator between product category links (loop cards) */
.wd-product-cats .wd-meta-sep {
    display: none;
}

/* Hide the comma separator in the single product meta (Categorie: ...) */
.posted_in .meta-sep {
    display: none;
}

/* Subcategory link (second link = child category) — neutral dark background */
.posted_in a ~ a {
    background: #495057 !important;
    color: #fff !important;
    padding: 2px 9px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
}

