/* ============================================
   M2M BOOKS — ADDITIONAL CSS
   Last updated: 4 April 2026
   ============================================ */

/* --- 1. GLOBAL BRAND ELEMENTS --- */

::selection { background-color: #1A3026 !important; color: #F5F2ED !important; }
::-moz-selection { background-color: #1A3026 !important; color: #F5F2ED !important; }

body {
    animation: fadeInAnimation ease 1.5s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}
@keyframes fadeInAnimation {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

/* --- 2. TYPOGRAPHY & NAVIGATION --- */

.main-navigation a {
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    font-family: "IM Fell English", serif !important;
    font-size: 0.8rem !important;
    transition: opacity 0.3s ease;
}
.main-navigation a:hover { opacity: 0.7; }

.wp-block-pullquote {
    border-top: 1px solid #1A3026 !important;
    border-bottom: 1px solid #1A3026 !important;
    padding: 30px 10px !important;
}
.wp-block-pullquote blockquote p {
    font-family: "IM Fell English", serif !important;
    font-size: 1.6rem !important;
    line-height: 1.4 !important;
    color: #1A3026 !important;
    font-style: italic !important;
}

/* --- 3. COMPONENTS (BUTTONS & IMAGES) --- */

body:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) button:not(.search-submit),
body:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) input[type="submit"]:not(.search-submit),
.wp-block-button__link,
.wp-block-jetpack-subscriptions-button {
    background-color: #1A3026 !important;
    color: #F5F2ED !important;
    border: 1px solid #1A3026 !important;
    border-radius: 50px !important;
    padding: 14px 30px !important;
    font-family: "IM Fell English", serif !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    font-size: .85rem !important;
    transition: all .2s ease-in-out !important;
    cursor: pointer;
}
body:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) button:not(.search-submit):hover,
.wp-block-button__link:hover {
    background-color: transparent !important;
    color: #1A3026 !important;
    border: 1px solid #1A3026 !important;
}
button:focus, .wp-block-button__link:focus, input:focus {
    outline: 2px solid #1A3026 !important;
    outline-offset: 3px;
}

.wp-block-image img, .featured-image img, .post-thumbnail img {
    border-radius: 12px !important;
    border: 1px solid rgba(26, 48, 38, 0.1);
}

/* --- 4. SUBSCRIPTION SECTION --- */

.wp-block-jetpack-subscriptions {
    padding: 60px 20px !important;
    background-color: #F5F2ED !important;
    text-align: center;
}
.m2m-award-logo img, .wp-block-jetpack-subscriptions img {
    max-width: 150px !important;
    height: auto !important;
    margin: 0 auto 20px auto !important;
    display: block !important;
    border-radius: 8px;
}
.m2m-award-text {
    font-family: "Fira Mono", monospace !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.1em !important;
    color: #1A3026;
    opacity: 0.8;
    text-transform: uppercase;
    display: block;
    margin-bottom: 20px;
}
.m2m-inner-circle-heading {
    font-family: "IM Fell English", serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    font-size: 1.2rem !important;
    color: #1A3026 !important;
    margin-bottom: 20px !important;
}

/* --- 5. RESPONSIVENESS --- */

@media (max-width: 600px) {
    .wp-block-pullquote blockquote p { font-size: 1.3rem !important; }
}

/* --- 6. ACCESSIBILITY & FOCUS STATES --- */

:focus {
    outline: 2px solid #1A3026 !important;
    outline-offset: 3px !important;
}
a:focus {
    background-color: rgba(26, 48, 38, 0.1) !important;
    text-decoration: underline !important;
    color: #1A3026 !important;
}
.skip-link:focus {
    top: 0;
    left: 0;
    background: #F5F2ED;
    padding: 15px;
    z-index: 9999;
    color: #1A3026;
    font-family: "Fira Mono", monospace;
    text-decoration: none;
    border: 1px solid #1A3026;
}
button:focus,
input:focus,
select:focus,
textarea:focus,
.wp-block-button__link:focus {
    box-shadow: 0 0 0 2px #F5F2ED, 0 0 0 4px #1A3026 !important;
}
input[type="text"]:focus,
input[type="email"]:focus {
    border: 1px solid #1A3026 !important;
    background-color: #ffffff !important;
}

/* --- 7. CONTENT LAYOUT --- */

.entry-content .wp-block-html {
    text-align: center;
}
.entry-content iframe[src*="substack.com"] {
    display: block;
    margin: 0 auto;
}

/* --- 8. PUBLICATION DETAILS CARD --- */

.entry-content .pub-details {
    max-width: 520px;
    border: 1px solid #d9d3cb;
    padding: 1.5rem 2rem;
    margin: 1.5rem auto;
}
.entry-content .pub-details * {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}
.entry-content .pub-details .pub-title {
    font-family: Georgia, serif !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    display: block !important;
    margin-bottom: 0.15rem !important;
}
.entry-content .pub-details .pub-subtitle {
    font-family: Georgia, serif !important;
    font-style: italic !important;
    font-size: 0.9rem !important;
    color: #555 !important;
    display: block !important;
    margin-bottom: 0.6rem !important;
}
.entry-content .pub-details hr {
    border: none !important;
    border-top: 1px solid #e0dbd4 !important;
    margin-bottom: 0 !important;
}
.entry-content .pub-details .pub-label {
    font-size: 0.62rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #999 !important;
    display: block !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0.1rem !important;
}
.entry-content .pub-details .pub-value {
    font-size: 0.88rem !important;
    color: #1a1a1a !important;
    display: block !important;
}
.entry-content .pub-details .pub-tags {
    display: flex !important;
    gap: 0.5rem !important;
    padding-top: 0.1rem !important;
    padding-bottom: 0.3rem !important;
}
.entry-content .pub-details .pub-tag {
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
    padding: 0.2rem 0.6rem !important;
    border: 1px solid #d9d3cb !important;
    color: #555 !important;
    text-transform: uppercase !important;
}
.entry-content .pub-details .pub-note {
    font-family: Georgia, serif !important;
    font-style: italic !important;
    font-size: 0.8rem !important;
    color: #777 !important;
    line-height: 1.4 !important;
    display: block !important;
}
/* --- 9. JETPACK CONTACT FORM --- */

/* Force all field wrappers to full width regardless of grunion width class */
.wp-block-jetpack-contact-form .grunion-field-wrap,
.wp-block-jetpack-contact-form [class*="grunion-field-width"] {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    flex: 0 0 100% !important;
}

/* Labels — direct font-size only, no variable override */
.wp-block-jetpack-label,
.grunion-field-label,
.wp-block-jetpack-contact-form label {
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    color: #444 !important;
    display: block !important;
    margin-bottom: 0.25rem !important;
    line-height: 1.4 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: normal !important;
    word-break: normal !important;
}

.wp-block-jetpack-contact-form input[type="text"],
.wp-block-jetpack-contact-form input[type="email"],
.wp-block-jetpack-contact-form select {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    border: 1px solid #d9d3cb !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
}
.wp-block-jetpack-contact-form textarea {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    border: 1px solid #d9d3cb !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
    min-height: 80px !important;
    resize: vertical !important;
}
.wp-block-jetpack-contact-form input[type="text"]:focus,
.wp-block-jetpack-contact-form input[type="email"]:focus,
.wp-block-jetpack-contact-form textarea:focus,
.wp-block-jetpack-contact-form select:focus {
    border: 1px solid #1A3026 !important;
    outline: none !important;
    box-shadow: none !important;
}
.wp-block-jetpack-contact-form input[type="submit"] {
    background-color: #1A3026 !important;
    color: #F5F2ED !important;
    border: 1px solid #1A3026 !important;
    border-radius: 50px !important;
    padding: 14px 30px !important;
    font-family: "IM Fell English", serif !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    font-size: .85rem !important;
    transition: all .2s ease-in-out !important;
    cursor: pointer !important;
    width: auto !important;
    margin-top: 0.75rem !important;
}

/* --- 10. WOOCOMMERCE SINGLE PRODUCT --- */

.single-product form.cart input,
.single-product form.cart button,
.single-product form.cart select {
    letter-spacing: 0 !important;
    text-transform: none !important;
    font-family: inherit !important;
    font-weight: 400 !important;
    border-radius: 4px !important;
    padding: 8px 12px !important;
    width: auto !important;
    font-size: 1rem !important;
}
.single-product form.cart input[type="submit"],
.single-product form.cart button[type="submit"],
.single-product form.cart .single_add_to_cart_button {
    background-color: #1A3026 !important;
    color: #F5F2ED !important;
    border: 1px solid #1A3026 !important;
    border-radius: 50px !important;
    padding: 14px 30px !important;
    font-family: "IM Fell English", serif !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    font-size: .85rem !important;
    width: auto !important;
    display: inline-block !important;
}
.single-product form.cart label abbr,
.single-product form.cart abbr[title],
.single-product form.cart abbr[title="required"],
.single-product .nyp label abbr,
.single-product .nyp abbr {
    display: none !important;
    visibility: hidden !important;
}
.single-product .nyp-minimum,
.single-product .nyp-tip,
.single-product .nyp .form-row > p,
.single-product .nyp-description {
    display: none !important;
}
.single-product .wc-block-components-express-payment,
.single-product .wc-block-components-express-payment__title-container,
.single-product .wc-block-components-express-payment__event-buttons {
    margin: 0 !important;
    padding: 0 !important;
}
.single-product .wc-block-components-express-payment__event-buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}
.single-product .wc-block-components-express-payment__event-buttons > * {
    margin: 0 !important;
    padding: 0 !important;
}

/* --- 11. WOOCOMMERCE MY ACCOUNT --- */

.woocommerce-account .woocommerce form input[type="text"],
.woocommerce-account .woocommerce form input[type="email"],
.woocommerce-account .woocommerce form input[type="password"] {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    border: 1px solid #d9d3cb !important;
    border-radius: 4px !important;
    padding: 8px 12px !important;
    font-family: inherit !important;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
}
.woocommerce-account .woocommerce form label {
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #555 !important;
    display: block !important;
    margin-bottom: 0.3rem !important;
    white-space: normal !important;
    word-break: normal !important;
    font-style: normal !important;
}
.woocommerce-account .woocommerce form input[type="submit"],
.woocommerce-account .woocommerce form button[type="submit"] {
    background-color: #1A3026 !important;
    color: #F5F2ED !important;
    border: 1px solid #1A3026 !important;
    border-radius: 50px !important;
    padding: 14px 30px !important;
    font-family: "IM Fell English", serif !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    font-size: .85rem !important;
    width: auto !important;
    display: inline-block !important;
    cursor: pointer !important;
    position: static !important;
}

/* --- 12. WOOCOMMERCE SHOP ARCHIVE --- */

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    text-transform: none !important;
    font-family: "IM Fell English", serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    letter-spacing: 0 !important;
}
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button {
    background-color: #1A3026 !important;
    color: #F5F2ED !important;
    border: 1px solid #1A3026 !important;
    border-radius: 50px !important;
    padding: 10px 24px !important;
    font-family: "IM Fell English", serif !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    font-size: .8rem !important;
    display: inline-block !important;
    cursor: pointer !important;
    transition: all .2s ease-in-out !important;
    text-decoration: none !important;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
    background-color: transparent !important;
    color: #1A3026 !important;
    border: 1px solid #1A3026 !important;
}

/* --- 13. SEARCH FORM HIDE — MUST REMAIN LAST --- */

.woocommerce-account form.search-form,
.woocommerce-account form[role="search"],
.woocommerce-account input.search-submit {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    clip: rect(0,0,0,0) !important;
}