/* Dual light/dark logo swap */
.at-header-logo .orisa-logo-dark,
.at-offcanvas-logo .orisa-logo-dark,
.at-search-logo .orisa-logo-dark {
    display: none;
}

[data-bs-theme=dark] .at-header-logo .orisa-logo-light,
[data-bs-theme=dark] .at-offcanvas-logo .orisa-logo-light,
[data-bs-theme=dark] .at-search-logo .orisa-logo-light {
    display: none;
}

[data-bs-theme=dark] .at-header-logo .orisa-logo-dark,
[data-bs-theme=dark] .at-offcanvas-logo .orisa-logo-dark,
[data-bs-theme=dark] .at-search-logo .orisa-logo-dark {
    display: inline;
}

.at-header-logo a.orisa-has-dual-logo img,
.at-offcanvas-logo a.orisa-has-dual-logo img,
.at-search-logo a.orisa-has-dual-logo img,
[data-bs-theme=dark] .at-header-logo a.orisa-has-dual-logo img,
[data-bs-theme=dark] .at-offcanvas-logo a.orisa-has-dual-logo img,
[data-bs-theme=dark] .at-search-logo a.orisa-has-dual-logo img {
    filter: none !important;
}
/* Cancel WP admin-bar html bump — theme offsets via #smooth-wrapper instead. */
@media screen {
    html {
        margin-top: 0 !important;
        scroll-padding-top: 0 !important;
    }
}

/* Pre-JS layout: match ScrollSmoother fixed viewport before plugin.js runs. */
#smooth-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

#smooth-content {
    will-change: transform;
}

/* ScrollSmoother uses position:fixed + height:100% on #smooth-wrapper.
   margin-top shifts it down without shrinking height, clipping the footer.
   Offset with top + reduced height instead. */
body.admin-bar #smooth-wrapper {
    top: 32px;
    height: calc(100vh - 32px);
}

/* Header sits outside #smooth-wrapper — offset when admin bar is visible. */
body.admin-bar header {
    margin-top: 32px;
}

@media screen and (max-width: 782px) {
    body.admin-bar #smooth-wrapper {
        top: 46px;
        height: calc(100vh - 46px);
    }

    body.admin-bar header {
        margin-top: 46px;
    }
}

/* Fixed offcanvas offset when admin bar is visible (logged in) */
body.admin-bar .at-offcanvas {
    top: 32px;
}

@media screen and (max-width: 782px) {
    body.admin-bar .at-offcanvas {
        top: 46px;
    }
}

header {
    position: relative;
    z-index: 1;
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

.alignleft {
    float: left;
    margin: 0.5em 1.5em 0.5em 0;
}

.alignright {
    float: right;
    margin: 0.5em 0 0.5em 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    max-width: 100%;
}

.wp-caption-text,
.gallery-caption {
    font-size: 0.875em;
    margin-top: 0.5em;
}

.bypostauthor {
    display: block;
}

.at-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.at-icon {
    display: block;
    width: 1em;
    height: 1em;
}

/* Utility: cap image/media height at 700px */
.max-height-700 {
    max-height: 700px;
}

.max-height-700 > img,
img.max-height-700 {
    display: block;
    width: 100%;
    max-height: 700px;
    object-fit: cover;
    object-position: center;
    transform-origin: center center;
}

.max-height-700.anim-zoomin-wrap,
.max-height-700 > .anim-zoomin-wrap {
    overflow: hidden;
}

.post-header-1-image-inner.anim-zoomin-wrap > .anim-zoomin {
    transform-origin: center center;
}

.cover-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Match orisa-medium (400x360) crop — uniform archive card thumbnails */
.blog-card__thumb--fixed-ratio {
    aspect-ratio: 400 / 360;
    overflow: hidden;
}

.blog-card__thumb--fixed-ratio .blog-card__img-link {
    height: 100%;
}

.blog-card__thumb--fixed-ratio .blog-card__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Prevent long unspaced words from overflowing blog archive cards */
.blog-card-2 {
    max-width: 100%;
}

.blog-card-content,
.blog-card-2__left,
.blog-card-2__right,
.blog-card__content {
    min-width: 0;
}

.blog-card-content {
    flex: 1;
}

.blog-card__title,
.blog-card__title-link,
.blog-card-2__title,
.blog-card-2__title-link,
.blog-card-5__title,
.blog-card-2__excerpt {
    overflow-wrap: anywhere;
    word-wrap: break-word;
}

/* Sticky post — slightly distinct from normal archive cards */
.blog-card-2.sticky {
    position: relative;
    padding: 28px 32px;
    border: 1px solid rgba(30, 30, 30, 0.08);
    border-radius: 16px;
    background: var(--at-neutral-50, #f7f7f7);
    border-bottom: 1px solid rgba(30, 30, 30, 0.08);
}

.blog-card-2.sticky::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    border-radius: 16px 0 0 16px;
    background: var(--at-theme-primary, #c94b2a);
}

.blog-card-5__badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.blog-card-5__sticky-badge {
    display: inline-block;
    font-family: var(--at-ff-body);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #fff;
    padding: 8px 16px;
    background: var(--at-theme-primary, #c94b2a);
    border-radius: 50px;
}

[data-bs-theme=dark] .blog-card-2.sticky {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.1);
}

/* Comment form — match Contact 01 (CF7 + sec-4-about-form) */
#comments #commentform.sec-4-about-form {
    position: relative;
}

#comments #commentform.sec-4-about-form * {
    box-sizing: border-box;
}

#comments #commentform.sec-4-about-form .sec-4-about-form__field {
    margin-bottom: 10px;
}

#comments #commentform.sec-4-about-form :is(input[type="text"], input[type="email"], input[type="url"], textarea).sec-4-about-form__input {
    width: 100%;
    max-width: 100%;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 12px;
    padding: 14px 16px;
    outline: none;
    background: #fff;
    color: inherit;
    line-height: 1.35;
    font-size: 14px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

#comments #commentform.sec-4-about-form :is(input, textarea).sec-4-about-form__input::placeholder {
    color: rgba(0, 0, 0, 0.45);
}

#comments #commentform.sec-4-about-form :is(input, textarea).sec-4-about-form__input:focus {
    border-color: rgba(0, 0, 0, 0.35);
    box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.08);
}

#comments #commentform.sec-4-about-form textarea.sec-4-about-form__textarea {
    min-height: 140px;
    resize: vertical;
}

#comments #commentform.sec-4-about-form .sec-4-about-form__actions {
    margin-top: 10px;
    margin-bottom: 16px;
}

#comments #commentform.sec-4-about-form input[type="submit"].sec-4-about-form__btn {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    border-radius: 12px;
    padding: 14px 18px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.08s ease, filter 0.2s ease, opacity 0.2s ease;
    background-color: var(--at-neutral-950);
    color: var(--at-neutral-0);
    min-height: 56px;
}

#comments #commentform.sec-4-about-form input[type="submit"].sec-4-about-form__btn:active {
    transform: translateY(1px);
}

#comments #commentform.sec-4-about-form .comment-notes {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--at-neutral-500);
}

#comments #commentform.sec-4-about-form .comment-form-cookies-consent {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--at-neutral-500);
}

#comments #commentform.sec-4-about-form .form-submit {
    margin: 0;
}

/* WordPress post/page content typography (.content-inner) */
.content-inner {
    color: var(--at-neutral-900);
    font-size: var(--at-fz-font-lg);
    line-height: 1.6;
    word-wrap: break-word;
}

.content-inner > :first-child {
    margin-top: 0;
}

.content-inner > :last-child {
    margin-bottom: 0;
}

/* Headings — article scale (smaller than page hero headings) */
.content-inner :is(h1, h2, h3, h4, h5, h6) {
    color: var(--at-neutral-900);
    font-family: var(--at-ff-heading);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.25;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

.content-inner h1 {
    font-size: var(--at-fz-font-3xl);
}

.content-inner h2 {
    font-size: var(--at-fz-font-2xl);
}

.content-inner h3 {
    font-size: var(--at-fz-font-xl);
}

.content-inner h4 {
    font-size: var(--at-fz-font-lg);
}

.content-inner h5 {
    font-size: var(--at-fz-font-md);
}

.content-inner h6 {
    font-size: var(--at-fz-font-md);
}

.content-inner :is(h1, h2, h3, h4, h5, h6) + :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 1.5rem;
}

/* Paragraphs & lead text */
.content-inner p {
    margin-bottom: 1.5rem;
    color: var(--at-neutral-900);
    font-weight: 400;
    line-height: 1.6;
}

.content-inner .lead,
.content-inner .has-large-font-size {
    font-size: var(--at-fz-font-xl);
    font-weight: 400;
    line-height: 1.5;
}

.content-inner .has-small-font-size {
    font-size: var(--at-fz-font-md);
}

/* Links */
.content-inner a:not(.wp-block-button__link):not(.at-btn) {
    color: var(--at-theme-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}

.content-inner a:not(.wp-block-button__link):not(.at-btn):hover {
    color: var(--at-neutral-900);
}

/* Lists */
.content-inner :is(ul, ol) {
    margin: 0 0 1.5rem;
    padding-left: 1.5rem;
}

.content-inner ul {
    list-style: disc;
}

.content-inner ol {
    list-style: decimal;
}

.content-inner li {
    margin-bottom: 0.5rem;
    line-height: 1.6;
}

.content-inner li > :is(ul, ol) {
    margin-top: 0.5rem;
    margin-bottom: 0;
}

.content-inner dl {
    margin: 0 0 1.5rem;
}

.content-inner dt {
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.content-inner dd {
    margin: 0 0 1rem 1rem;
    color: var(--at-neutral-700);
}

/* Blockquote */
.content-inner :is(blockquote, .wp-block-quote) {
    margin: 2rem 0;
    padding: 1.25rem 1.5rem;
    border-left: 3px solid var(--at-theme-primary);
    background-color: var(--at-neutral-50);
    color: var(--at-neutral-500);
    font-size: var(--at-fz-font-lg);
    font-weight: 500;
    line-height: 1.6;
}

.content-inner :is(blockquote, .wp-block-quote) p:last-child {
    margin-bottom: 0;
}

.content-inner :is(blockquote, .wp-block-quote) :is(cite, footer) {
    display: block;
    margin-top: 0.75rem;
    font-size: var(--at-fz-font-md);
    font-style: normal;
    font-weight: 500;
    color: var(--at-neutral-700);
}

.content-inner .wp-block-pullquote {
    margin: 2.5rem 0;
    padding: 2rem 1.5rem;
    border-top: 1px solid var(--at-neutral-100);
    border-bottom: 1px solid var(--at-neutral-100);
    text-align: center;
}

.content-inner .wp-block-pullquote blockquote {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.content-inner .wp-block-pullquote :is(p, blockquote) {
    font-size: var(--at-fz-font-2xl);
    font-weight: 500;
    line-height: 1.35;
    color: var(--at-neutral-900);
}

/* Post format quote (content-quote.php) */
.post-format-quote {
    position: relative;
    margin: 0 0 2.5rem;
    padding: 2rem 2.5rem;
    border: 0;
    border-left: 4px solid var(--at-theme-primary);
    border-radius: 0 16px 16px 0;
    background-color: var(--at-neutral-50);
    overflow: hidden;
}

.post-format-quote::before {
    content: "\201C";
    position: absolute;
    top: 0.25rem;
    right: 1.25rem;
    font-family: var(--at-ff-heading);
    font-size: clamp(4rem, 10vw, 7rem);
    line-height: 1;
    font-weight: 500;
    color: var(--at-neutral-100);
    pointer-events: none;
    user-select: none;
}

.post-format-quote > p:first-child {
    position: relative;
    z-index: 1;
    max-width: 92%;
    letter-spacing: -0.03em;
    line-height: 1.45;
}

.post-format-quote > p:last-child {
    position: relative;
    z-index: 1;
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--at-neutral-100);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--at-neutral-500);
}

.post-format-quote > p:last-child .neutral-900 {
    text-transform: none;
    letter-spacing: -0.02em;
    font-weight: 500;
}

@media (max-width: 575.98px) {
    .post-format-quote {
        padding: 1.5rem 1.25rem;
    }

    .post-format-quote > p:first-child {
        max-width: 100%;
    }
}

/* Inline & block code */
.content-inner :is(code, kbd, samp) {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
    font-size: 0.875em;
}

.content-inner :not(pre) > code,
.content-inner kbd {
    padding: 0.15em 0.45em;
    border-radius: 4px;
    background-color: var(--at-neutral-50);
    border: 1px solid var(--at-neutral-100);
    color: var(--at-neutral-900);
}

.content-inner kbd {
    font-size: 0.8125em;
    box-shadow: inset 0 -1px 0 var(--at-neutral-200);
}

.content-inner :is(pre, .wp-block-code) {
    margin: 0 0 1.5rem;
    padding: 1.25rem 1.5rem;
    overflow-x: auto;
    border-radius: 12px;
    border: 1px solid var(--at-neutral-100);
    background-color: var(--at-neutral-50);
    font-size: var(--at-fz-body);
    line-height: 1.6;
    color: var(--at-neutral-900);
}

.content-inner :is(pre, .wp-block-code) code {
    padding: 0;
    border: 0;
    background: transparent;
    font-size: inherit;
    color: inherit;
}

/* Tables */
.content-inner :is(table, .wp-block-table table) {
    width: 100%;
    margin: 0 0 1.5rem;
    border-collapse: collapse;
    font-size: var(--at-fz-font-md);
}

.content-inner :is(th, td) {
    padding: 12px 16px;
    border: 1px solid var(--at-neutral-100);
    text-align: left;
    vertical-align: top;
}

.content-inner th {
    background-color: var(--at-neutral-50);
    font-weight: 600;
    color: var(--at-neutral-900);
}

.content-inner .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: var(--at-neutral-50);
}

.content-inner .wp-block-table figcaption {
    margin-top: 0.5rem;
    font-size: var(--at-fz-font-md);
    color: var(--at-neutral-700);
    text-align: center;
}

/* Images, figures, captions */
.content-inner :is(img, video, iframe) {
    max-width: 100%;
    height: auto;
}

.content-inner :is(figure, .wp-block-image, .wp-caption) {
    margin: 2rem 0;
}

.content-inner figure img,
.content-inner .wp-block-image img,
.content-inner .wp-caption img {
    display: block;
    width: 100%;
    height: auto;
}

.content-inner :is(figcaption, .wp-caption-text, .wp-block-image figcaption) {
    margin-top: 0.5rem;
    font-size: var(--at-fz-font-md);
    font-style: italic;
    line-height: 1.4;
    color: var(--at-neutral-700);
    text-align: center;
}

.content-inner .aligncenter,
.content-inner .wp-block-image.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.content-inner .alignleft,
.content-inner .wp-block-image.alignleft {
    float: left;
    margin: 0.25rem 1.5rem 1rem 0;
    max-width: min(100%, 360px);
}

.content-inner .alignright,
.content-inner .wp-block-image.alignright {
    float: right;
    margin: 0.25rem 0 1rem 1.5rem;
    max-width: min(100%, 360px);
}

.content-inner .alignwide {
    width: min(100%, calc(100vw - 3rem));
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.content-inner .alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* Horizontal rule & separator */
.content-inner :is(hr, .wp-block-separator) {
    margin: 2.5rem 0;
    border: 0;
    border-top: 1px solid var(--at-neutral-100);
}

.content-inner .wp-block-separator.is-style-dots {
    border: 0;
    background: none;
    text-align: center;
}

.content-inner .wp-block-separator.is-style-dots::before {
    color: var(--at-neutral-300);
    letter-spacing: 1em;
}

/* Embeds & media blocks */
.content-inner :is(.wp-block-embed, .wp-block-video, .wp-block-audio) {
    margin: 0 0 1.5rem;
}

.content-inner .wp-block-embed__wrapper {
    position: relative;
}

.content-inner .wp-block-embed.is-type-video .wp-block-embed__wrapper::before {
    content: '';
    display: block;
    padding-top: 56.25%;
}

.content-inner .wp-block-embed.is-type-video .wp-block-embed__wrapper iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.content-inner .wp-block-gallery {
    margin: 0 0 1.5rem;
}

.content-inner .wp-block-gallery .blocks-gallery-grid,
.content-inner .wp-block-gallery.has-nested-images {
    gap: 1rem;
}

/* Buttons (Gutenberg) */
.content-inner .wp-block-button {
    margin: 0 0 1.5rem;
}

.content-inner .wp-block-button__link {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    border-radius: 999px;
    background-color: var(--at-neutral-900);
    color: var(--at-common-white) !important;
    font-size: var(--at-fz-font-md);
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none !important;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.content-inner .wp-block-button__link:hover {
    background-color: var(--at-theme-primary);
    color: var(--at-common-white) !important;
}

.content-inner .wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent;
    border: 1px solid var(--at-neutral-900);
    color: var(--at-neutral-900) !important;
}

.content-inner .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--at-neutral-900);
    color: var(--at-common-white) !important;
}

/* Columns & group blocks */
.content-inner .wp-block-columns {
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.content-inner .wp-block-group {
    margin-bottom: 1.5rem;
}

/* Text formatting */
.content-inner :is(strong, b) {
    font-weight: 600;
}

.content-inner :is(em, i, cite) {
    font-style: italic;
}

.content-inner mark {
    padding: 0.1em 0.25em;
    background-color: rgba(var(--at-common-black-rgb), 0.08);
    color: inherit;
}

.content-inner :is(del, s) {
    text-decoration: line-through;
    color: var(--at-neutral-500);
}

.content-inner ins {
    text-decoration: underline;
}

.content-inner :is(sub, sup) {
    font-size: 0.75em;
    line-height: 0;
}

.content-inner abbr[title] {
    text-decoration: underline dotted;
    cursor: help;
}

.content-inner address {
    margin: 0 0 1.5rem;
    font-style: normal;
    line-height: 1.6;
}

/* Legacy gallery shortcode */
.content-inner .gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 1rem;
    margin: 0 0 1.5rem;
}

.content-inner .gallery-item {
    margin: 0;
}

.content-inner .gallery-caption {
    margin-top: 0.35rem;
    font-size: var(--at-fz-font-label);
    color: var(--at-neutral-700);
}

/* Page break inside content */
.content-inner .page-links {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--at-neutral-100);
    font-size: var(--at-fz-font-md);
    font-weight: 600;
}

.content-inner .page-links .page-number {
    display: inline-block;
    min-width: 2rem;
    margin: 0 0.25rem;
    padding: 0.35rem 0.65rem;
    border-radius: 6px;
    background-color: var(--at-neutral-50);
    text-align: center;
}

@media (max-width: 767.98px) {
    .content-inner {
        font-size: 18px;
    }

    .content-inner h1 {
        font-size: var(--at-fz-font-2xl);
    }

    .content-inner h2 {
        font-size: var(--at-fz-font-xl);
    }

    .content-inner h3 {
        font-size: var(--at-fz-font-lg);
    }

    .content-inner .alignleft,
    .content-inner .alignright,
    .content-inner .wp-block-image.alignleft,
    .content-inner .wp-block-image.alignright {
        float: none;
        margin: 0 0 1rem;
        max-width: 100%;
    }

    .content-inner .alignfull {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}

h3.comment-reply-title {
    font-size: 36px;
}

/* Sidebar search widget — override header overlay defaults (opacity: 0, translateY) */
.main_sidebar .widget_search .at-search-form-input {
    opacity: 1;
    transform: none;
    transition: border-color 0.2s ease;
    padding: 8px 8px 8px 16px;
    border: 1px solid var(--at-neutral-100);
    background: var(--at-neutral-0);
    border-radius: 8px;
}

.main_sidebar .widget_search .at-search-form-input:focus-within {
    border-color: var(--at-neutral-900);
}

.main_sidebar .widget_search .at-search-form-input input {
    font-size: 16px;
    gap: 0;
    padding-right: 96px;
    background: transparent;
    transition: none;
}

.main_sidebar .widget_search .at-search-form-input input::placeholder {
    font-size: 16px;
    color: var(--at-neutral-500);
}

.main_sidebar .widget_search .at-search-form-btn {
    font-size: 14px;
    padding: 10px 16px;
    right: 0px;
}

@media (max-width: 574.98px) {
    .main_sidebar .widget_search .at-search-form-input {
        padding: 8px 12px;
    }

    .main_sidebar .widget_search .at-search-form-input input {
        padding-right: 0;
    }

    .main_sidebar .widget_search .at-search-form-btn {
        position: absolute;
        width: auto;
        right: 0px;
    }
}

/* Post format gallery + shared Orisa gallery markup (content-gallery.php, Orisa Gallery widget) */
.blog__details-gallery {
    margin-bottom: 1.5rem;
}

.blog__details-gallery .orisa-gallery-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

@media (max-width: 991.98px) {
    .blog__details-gallery .orisa-gallery-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .blog__details-gallery .orisa-gallery-container {
        grid-template-columns: minmax(0, 1fr);
    }
}

.blog__details-gallery .orisa-gallery-item {
    position: relative;
    min-width: 0;
    margin: 0;
}

.blog__details-gallery .orisa-gallery-item > a,
.blog__details-gallery .orisa-gallery-item > .orisa-gallery-image-wrapper {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 16px;
    line-height: 0;
}

.blog__details-gallery .orisa-gallery-item img {
    width: 100%;
    height: 100%;
    max-width: none;
    display: block;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
}

.blog__details-gallery .orisa-gallery-item:hover img {
    transform: scale(1.05);
}

.blog__details-gallery .orisa-gallery-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    border-radius: inherit;
}

.blog__details-gallery .orisa-gallery-item:hover .orisa-gallery-overlay {
    opacity: 1;
}

.blog__details-gallery .orisa-gallery-overlay .at-icon-wrap,
.blog__details-gallery .orisa-gallery-overlay svg {
    color: #fff;
}

/* Swiper zoom — match product-card / gallery thumb background */
.swiper-zoom-container img {
    background-color: var(--at-neutral-50, #f2f2f2);
    border-radius: 16px;
    overflow: hidden;
}

/* Orisa Sidebar Posts widget (orisa-latest-posts) */
.widget_orisa-latest-posts .rc-post-wrap {
    margin-top: 0;
}

.widget_orisa-latest-posts .blog-card-3-wrap {
    margin-top: 24px;
}

.widget_orisa-latest-posts .blog-card-3__thumb {
    overflow: hidden;
    border-radius: 12px;
}

.widget_orisa-latest-posts .blog-card-3__img {
    display: block;
    border-radius: inherit;
}

.widget_orisa-latest-posts .blog-card-3__meta {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget_orisa-latest-posts .blog-card-3__meta-date {
    font-size: 14px;
    line-height: 1.4;
}

/* Numbered list layout */
.widget_orisa-latest-posts .badge-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    line-height: 1;
    font-size: 13px;
    font-weight: 600;
    color: var(--at-neutral-500, #737373);
    background-color: var(--at-neutral-50, #f2f2f2);
    border-radius: 50%;
}

.widget_orisa-latest-posts .list-unstyled {
    margin-top: 24px;
}

.widget_orisa-latest-posts .list-unstyled .card-body {
    padding: 0;
    align-items: flex-start;
    gap: 0;
}

.widget_orisa-latest-posts .list-unstyled .border-bottom {
    border-color: rgba(30, 30, 30, 0.08) !important;
}

.widget_orisa-latest-posts .list-unstyled .card-title {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.02em;
    color: var(--at-neutral-900, #1a1a1a);
    margin: 0;
    transition: color 0.3s ease;
}

.widget_orisa-latest-posts .list-unstyled a {
    color: inherit;
    text-decoration: none;
}

.widget_orisa-latest-posts .list-unstyled a:hover .card-title {
    color: var(--at-theme-primary, #c94b2a);
}

@media (max-width: 575.98px) {
    .widget_orisa-latest-posts .blog-card-3__thumb {
        flex: 0 0 90px;
        width: 90px;
        height: 90px;
    }
}

/* ==========================================================================
   WooCommerce default widgets (sidebar / footer — all pages)
   Loaded here because woocommerce.css only enqueues on shop pages.
   ========================================================================== */

.widget_products .product_list_widget,
.widget_recently_viewed .product_list_widget,
.widget_top_rated_products .product_list_widget,
.widget_recent_reviews .product_list_widget,
.widget_shopping_cart .cart_list,
.woocommerce-widget-layered-nav-list,
.widget_brand_thumbnails .brand-thumbnails {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget_products .product_list_widget li img,
.widget_recently_viewed .product_list_widget li img,
.widget_top_rated_products .product_list_widget li img,
.widget_recent_reviews .product_list_widget li img,
.widget_shopping_cart .cart_list li img {
    float: none;
    width: 72px;
    height: 72px;
    max-width: 72px;
    object-fit: cover;
    border-radius: 8px;
    margin: 0;
}

.widget_products .product_list_widget,
.widget_recently_viewed .product_list_widget,
.widget_top_rated_products .product_list_widget,
.widget_recent_reviews .product_list_widget {
    margin-top: 20px;
}

.widget_products .product_list_widget li,
.widget_recently_viewed .product_list_widget li,
.widget_top_rated_products .product_list_widget li,
.widget_recent_reviews .product_list_widget li {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 4px;
    align-items: start;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(30, 30, 30, 0.08);
}

.widget_products .product_list_widget li:last-child,
.widget_recently_viewed .product_list_widget li:last-child,
.widget_top_rated_products .product_list_widget li:last-child,
.widget_recent_reviews .product_list_widget li:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}

.widget_products .product_list_widget li > a,
.widget_recently_viewed .product_list_widget li > a,
.widget_top_rated_products .product_list_widget li > a,
.widget_recent_reviews .product_list_widget li > a {
    display: contents;
    color: inherit;
    text-decoration: none;
}

.widget_products .product_list_widget li img,
.widget_recently_viewed .product_list_widget li img,
.widget_top_rated_products .product_list_widget li img,
.widget_recent_reviews .product_list_widget li img {
    grid-row: 1 / -1;
    grid-column: 1;
}

.widget_products .product_list_widget .product-title,
.widget_recently_viewed .product_list_widget .product-title,
.widget_top_rated_products .product_list_widget .product-title,
.widget_recent_reviews .product_list_widget .product-title {
    grid-column: 2;
    grid-row: 1;
    display: block;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.02em;
    color: var(--at-neutral-900, #1a1a1a);
    transition: color 0.3s ease;
}

.widget_products .product_list_widget li:hover .product-title,
.widget_recently_viewed .product_list_widget li:hover .product-title,
.widget_top_rated_products .product_list_widget li:hover .product-title,
.widget_recent_reviews .product_list_widget li:hover .product-title {
    color: var(--at-theme-primary, #c94b2a);
}

.widget_products .product_list_widget .star-rating,
.widget_recently_viewed .product_list_widget .star-rating,
.widget_top_rated_products .product_list_widget .star-rating,
.widget_recent_reviews .product_list_widget .star-rating {
    grid-column: 2;
    margin: 0;
    width: 70px;
    height: 14px;
    line-height: 14px;
    font-size: 12px;
}

.widget_products .product_list_widget .price,
.widget_recently_viewed .product_list_widget .price,
.widget_top_rated_products .product_list_widget .price,
.widget_recent_reviews .product_list_widget .price,
.widget_products .product_list_widget .woocommerce-Price-amount,
.widget_recently_viewed .product_list_widget .woocommerce-Price-amount,
.widget_top_rated_products .product_list_widget .woocommerce-Price-amount,
.widget_recent_reviews .product_list_widget .woocommerce-Price-amount {
    grid-column: 2;
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--at-neutral-900, #1a1a1a);
}

.widget_products .product_list_widget .price del,
.widget_recently_viewed .product_list_widget .price del,
.widget_top_rated_products .product_list_widget .price del,
.widget_recent_reviews .product_list_widget .price del {
    color: var(--at-neutral-500, #737373);
    font-weight: 400;
}

.widget_products .product_list_widget .price ins,
.widget_recently_viewed .product_list_widget .price ins,
.widget_top_rated_products .product_list_widget .price ins,
.widget_recent_reviews .product_list_widget .price ins {
    text-decoration: none;
}

.widget_recent_reviews .product_list_widget .reviewer {
    grid-column: 2;
    font-size: 13px;
    color: var(--at-neutral-500, #737373);
}

/* Cart widget */
.widget_shopping_cart .woocommerce-mini-cart {
    margin-top: 20px;
}

.widget_shopping_cart .woocommerce-mini-cart-item {
    position: relative;
    padding: 0 28px 16px 0;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(30, 30, 30, 0.08);
}

.widget_shopping_cart .woocommerce-mini-cart-item:last-child {
    margin-bottom: 0;
}

.widget_shopping_cart .woocommerce-mini-cart-item .remove {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    font-size: 18px;
    line-height: 1;
    color: var(--at-neutral-500, #737373);
    text-decoration: none;
    border-radius: 50%;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.widget_shopping_cart .woocommerce-mini-cart-item .remove:hover {
    color: var(--at-common-white, #fff);
    background-color: var(--at-neutral-900, #1a1a1a);
}

.widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove) {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 4px;
    color: var(--at-neutral-900, #1a1a1a);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
}

.widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove):hover {
    color: var(--at-theme-primary, #c94b2a);
}

.widget_shopping_cart .woocommerce-mini-cart-item img {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    max-width: 72px;
    object-fit: cover;
    border-radius: 8px;
}

.widget_shopping_cart .woocommerce-mini-cart-item .variation {
    margin: 0 0 4px 84px;
    font-size: 13px;
    color: var(--at-neutral-500, #737373);
}

.widget_shopping_cart .woocommerce-mini-cart-item .variation dt,
.widget_shopping_cart .woocommerce-mini-cart-item .variation dd {
    display: inline;
    margin: 0;
}

.widget_shopping_cart .woocommerce-mini-cart-item .variation dd p {
    margin: 0;
    display: inline;
}

.widget_shopping_cart .woocommerce-mini-cart-item .quantity {
    margin: 0 0 0 84px;
    font-size: 14px;
    font-weight: 600;
    color: var(--at-neutral-700, #4d4d4d);
}

.widget_shopping_cart .woocommerce-mini-cart__total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 20px 0 0;
    padding-top: 16px;
    border-top: 1px solid rgba(30, 30, 30, 0.12);
    font-size: 16px;
    font-weight: 600;
    color: var(--at-neutral-900, #1a1a1a);
}

.widget_shopping_cart .woocommerce-mini-cart__buttons {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px;
}

.widget_shopping_cart .woocommerce-mini-cart__buttons .button {
    width: 100%;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s ease;
}

.widget_shopping_cart .woocommerce-mini-cart__buttons .button:not(.checkout) {
    background: var(--at-neutral-0, #fff);
    color: var(--at-neutral-900, #1a1a1a);
    border: 1px solid var(--at-neutral-300, #d9d9d9);
}

.widget_shopping_cart .woocommerce-mini-cart__buttons .button.checkout {
    background: var(--at-neutral-900, #1a1a1a);
    color: var(--at-common-white, #fff);
    border: 1px solid var(--at-neutral-900, #1a1a1a);
}

.widget_shopping_cart .woocommerce-mini-cart__empty-message {
    margin: 16px 0 0;
    font-size: 15px;
    color: var(--at-neutral-500, #737373);
}

/* Layered nav + brand filter */
.widget_layered_nav .woocommerce-widget-layered-nav-list,
.widget_brand_nav .woocommerce-widget-layered-nav-list {
    margin-top: 16px;
}

.widget_layered_nav .woocommerce-widget-layered-nav-list__item,
.widget_brand_nav .woocommerce-widget-layered-nav-list__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(30, 30, 30, 0.08);
    font-size: 15px;
    line-height: 1.4;
}

.widget_layered_nav .woocommerce-widget-layered-nav-list__item a,
.widget_brand_nav .woocommerce-widget-layered-nav-list__item a {
    color: var(--at-neutral-700, #4d4d4d);
    text-decoration: none;
    transition: color 0.3s ease;
}

.widget_layered_nav .woocommerce-widget-layered-nav-list__item a:hover,
.widget_brand_nav .woocommerce-widget-layered-nav-list__item a:hover {
    color: var(--at-theme-primary, #c94b2a);
}

.widget_layered_nav .woocommerce-widget-layered-nav-list .count,
.widget_brand_nav .woocommerce-widget-layered-nav-list .count {
    flex-shrink: 0;
    font-size: 13px;
    color: var(--at-neutral-500, #737373);
}

.widget_layered_nav .woocommerce-widget-layered-nav-dropdown,
.widget_brand_nav .woocommerce-widget-layered-nav-dropdown {
    width: 100%;
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid var(--at-neutral-300, #d9d9d9);
    border-radius: 8px;
    font-size: 14px;
    background-color: var(--at-neutral-0, #fff);
}

/* Brand widgets */
.widget_brand_description img {
    display: block;
    width: 100%;
    height: auto;
    margin: 16px 0;
    border-radius: 8px;
}

.widget_brand_description p {
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--at-neutral-600, #5c5c5c);
}

.widget_brand_thumbnails .brand-thumbnails {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.widget_brand_thumbnails .brand-thumbnails::before,
.widget_brand_thumbnails .brand-thumbnails::after {
    display: none;
}

.widget_brand_thumbnails .brand-thumbnails li {
    float: none;
    width: auto !important;
    margin: 0 !important;
    padding: 0;
}

.widget_brand_thumbnails .brand-thumbnails li a {
    display: block;
    padding: 12px;
    border: 1px solid rgba(30, 30, 30, 0.08);
    border-radius: 8px;
    background: var(--at-neutral-0, #fff);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.widget_brand_thumbnails .brand-thumbnails li img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
}

@media (max-width: 575.98px) {
    .widget_brand_thumbnails .brand-thumbnails {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .widget_products .product_list_widget li,
    .widget_recently_viewed .product_list_widget li,
    .widget_top_rated_products .product_list_widget li,
    .widget_recent_reviews .product_list_widget li {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .widget_products .product_list_widget li img,
    .widget_recently_viewed .product_list_widget li img,
    .widget_top_rated_products .product_list_widget li img,
    .widget_recent_reviews .product_list_widget li img,
    .widget_shopping_cart .cart_list li img {
        width: 64px;
        height: 64px;
        max-width: 64px;
    }

    .widget_shopping_cart .woocommerce-mini-cart-item .variation,
    .widget_shopping_cart .woocommerce-mini-cart-item .quantity {
        margin-left: 76px;
    }
}

/* Offcanvas 2 — submenu toggle hover */
.at-offcanvas-2-area button.at-menu-close .at-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.at-offcanvas-2-area button.at-menu-close .at-icon {
    transition: transform 0.35s ease;
}

.at-offcanvas-2-area button.at-menu-close:hover .at-icon {
    transform: rotate(90deg);
}

/* ==========================================================================
   Main sidebar — WordPress default widgets (Monster Widget / core widgets)
   ========================================================================== */

.main_sidebar .sidebar_widget > p[class*="neutral-"] + ul,
.main_sidebar .sidebar_widget > p[class*="neutral-"] + ol,
.main_sidebar .sidebar_widget > p[class*="neutral-"] + form,
.main_sidebar .sidebar_widget > p[class*="neutral-"] + div:not(.at-search-form),
.main_sidebar .sidebar_widget > p[class*="neutral-"] + select,
.main_sidebar .sidebar_widget .wp-block-group > :not(.wp-block-heading):first-child,
.main_sidebar .sidebar_widget .wp-block-group > .wp-block-heading + * {
    margin-top: 16px;
}

.main_sidebar .sidebar_widget ul,
.main_sidebar .sidebar_widget ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

.main_sidebar .sidebar_widget ul li,
.main_sidebar .sidebar_widget ol li {
    font-size: 15px;
    line-height: 1.5;
    color: var(--at-neutral-700, #4d4d4d);
}

.main_sidebar .sidebar_widget ul li a,
.main_sidebar .sidebar_widget ol li a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.main_sidebar .sidebar_widget ul li a:hover,
.main_sidebar .sidebar_widget ol li a:hover {
    color: var(--at-theme-primary, #c94b2a);
}

/* Block widgets */
.main_sidebar .widget_block .wp-block-heading {
    margin: 0;
    font-size: inherit;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--at-neutral-500, #737373);
}

.main_sidebar .widget_block .wp-block-group__inner-container > :first-child {
    margin-top: 0;
}

.main_sidebar .widget_block .wp-block-latest-posts__list li + li,
.main_sidebar .widget_block .wp-block-latest-comments li + li {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(30, 30, 30, 0.08);
}

.main_sidebar .widget_block .wp-block-latest-posts__post-title,
.main_sidebar .widget_block .wp-block-latest-comments__comment-link {
    font-weight: 500;
    color: var(--at-neutral-900, #1a1a1a);
}

.main_sidebar .widget_block .wp-block-latest-comments__comment-meta {
    font-size: 14px;
    line-height: 1.5;
}

.main_sidebar .widget_block .wp-block-latest-comments__comment-author {
    font-weight: 600;
    color: var(--at-neutral-900, #1a1a1a);
}

.main_sidebar .widget_block .wp-block-search__label {
    display: none;
}

.main_sidebar .widget_block .wp-block-search__inside-wrapper {
    display: flex;
    align-items: stretch;
    gap: 8px;
    padding: 8px 8px 8px 16px;
    border: 1px solid var(--at-neutral-100, #e8e8e8);
    border-radius: 8px;
    background: var(--at-neutral-0, #fff);
    transition: border-color 0.2s ease;
}

.main_sidebar .widget_block .wp-block-search__inside-wrapper:focus-within {
    border-color: var(--at-neutral-900, #1a1a1a);
}

.main_sidebar .widget_block .wp-block-search__input {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 16px;
    color: var(--at-neutral-900, #1a1a1a);
    outline: none;
    box-shadow: none;
}

.main_sidebar .widget_block .wp-block-search__button {
    flex-shrink: 0;
    padding: 10px 16px;
    border: 0;
    border-radius: 6px;
    background: var(--at-neutral-900, #1a1a1a);
    color: var(--at-neutral-0, #fff);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.main_sidebar .widget_block .wp-block-search__button:hover {
    background: var(--at-theme-primary, #c94b2a);
}

/* Archives, categories, pages, meta, recent posts */
.main_sidebar .widget_archive > ul > li,
.main_sidebar .widget_categories > ul > li,
.main_sidebar .widget_pages > ul > li,
.main_sidebar .widget_meta > ul > li,
.main_sidebar .widget_recent_entries > ul > li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(30, 30, 30, 0.08);
}

.main_sidebar .widget_archive > ul > li:last-child,
.main_sidebar .widget_categories > ul > li:last-child,
.main_sidebar .widget_pages > ul > li:last-child,
.main_sidebar .widget_meta > ul > li:last-child,
.main_sidebar .widget_recent_entries > ul > li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.main_sidebar .widget_archive .float-right,
.main_sidebar .widget_categories .float-right {
    flex-shrink: 0;
    float: none !important;
    font-size: 13px;
    color: var(--at-neutral-500, #737373);
}

.main_sidebar .widget_categories ul.children,
.main_sidebar .widget_pages ul.children {
    width: 100%;
    margin-top: 8px;
    padding-left: 16px;
    border-left: 1px solid rgba(30, 30, 30, 0.08);
}

.main_sidebar .widget_categories ul.children > li,
.main_sidebar .widget_pages ul.children > li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(30, 30, 30, 0.06);
}

.main_sidebar .widget_categories ul.children > li:last-child,
.main_sidebar .widget_pages ul.children > li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.main_sidebar .widget_categories > ul > li,
.main_sidebar .widget_pages > ul > li {
    flex-wrap: wrap;
}

/* Dropdowns (archives, categories, text widget) */
.main_sidebar .widget_archive select,
.main_sidebar .widget_categories select,
.main_sidebar .widget_text select,
.main_sidebar .sidebar_widget select.postform {
    width: 100%;
    padding: 10px 36px 10px 12px;
    border: 1px solid var(--at-neutral-300, #d9d9d9);
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.4;
    color: var(--at-neutral-900, #1a1a1a);
    background-color: var(--at-neutral-0, #fff);
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23737373' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

.main_sidebar .widget_archive select:focus,
.main_sidebar .widget_categories select:focus,
.main_sidebar .widget_text select:focus,
.main_sidebar .sidebar_widget select.postform:focus {
    outline: none;
    border-color: var(--at-neutral-900, #1a1a1a);
}

/* Calendar */
.main_sidebar .widget_calendar .calendar_wrap {
    overflow: hidden;
    border: 1px solid rgba(30, 30, 30, 0.08);
    border-radius: 12px;
    background: var(--at-neutral-0, #fff);
}

.main_sidebar .widget_calendar .wp-calendar-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.main_sidebar .widget_calendar .wp-calendar-table caption {
    padding: 14px 12px;
    font-size: 15px;
    font-weight: 600;
    color: var(--at-neutral-900, #1a1a1a);
    caption-side: top;
    text-align: center;
    border-bottom: 1px solid rgba(30, 30, 30, 0.08);
}

.main_sidebar .widget_calendar .wp-calendar-table th,
.main_sidebar .widget_calendar .wp-calendar-table td {
    padding: 8px 4px;
    text-align: center;
    font-size: 13px;
    color: var(--at-neutral-600, #5c5c5c);
    border: 0;
}

.main_sidebar .widget_calendar .wp-calendar-table thead th {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--at-neutral-500, #737373);
    background: var(--at-neutral-50, #f2f2f2);
}

.main_sidebar .widget_calendar .wp-calendar-table td a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 28px;
    border-radius: 50%;
    color: var(--at-neutral-900, #1a1a1a);
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.main_sidebar .widget_calendar .wp-calendar-table td a:hover {
    background: var(--at-neutral-100, #e8e8e8);
    color: var(--at-theme-primary, #c94b2a);
}

.main_sidebar .widget_calendar .wp-calendar-table #today {
    background: rgba(201, 75, 42, 0.08);
}

.main_sidebar .widget_calendar .wp-calendar-table #today a {
    background: var(--at-theme-primary, #c94b2a);
    color: var(--at-neutral-0, #fff);
}

.main_sidebar .widget_calendar .wp-calendar-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
    font-size: 13px;
    border-top: 1px solid rgba(30, 30, 30, 0.08);
}

.main_sidebar .widget_calendar .wp-calendar-nav a {
    color: var(--at-neutral-700, #4d4d4d);
    text-decoration: none;
    transition: color 0.3s ease;
}

.main_sidebar .widget_calendar .wp-calendar-nav a:hover {
    color: var(--at-theme-primary, #c94b2a);
}

/* Recent comments */
.main_sidebar .widget_recent_comments #recentcomments > li {
    padding: 12px 0;
    border-bottom: 1px solid rgba(30, 30, 30, 0.08);
    font-size: 14px;
    line-height: 1.6;
}

.main_sidebar .widget_recent_comments #recentcomments > li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.main_sidebar .widget_recent_comments .comment-author-link {
    font-weight: 600;
    color: var(--at-neutral-900, #1a1a1a);
}

/* RSS */
.main_sidebar .widget_rss > p a {
    color: inherit;
    text-decoration: none;
}

.main_sidebar .widget_rss > p a:hover {
    color: var(--at-theme-primary, #c94b2a);
}

.main_sidebar .widget_rss .rss-widget-icon {
    vertical-align: -2px;
    margin-right: 4px;
}

.main_sidebar .widget_rss > ul > li {
    padding: 14px 0;
    border-bottom: 1px solid rgba(30, 30, 30, 0.08);
}

.main_sidebar .widget_rss > ul > li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.main_sidebar .widget_rss .rsswidget {
    display: inline-block;
    font-weight: 600;
    color: var(--at-neutral-900, #1a1a1a);
    line-height: 1.4;
}

.main_sidebar .widget_rss .rss-date {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    color: var(--at-neutral-500, #737373);
}

.main_sidebar .widget_rss .rssSummary {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--at-neutral-600, #5c5c5c);
}

.main_sidebar .widget_rss cite {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    color: var(--at-neutral-500, #737373);
}

/* Search (classic widget — theme form) */
.main_sidebar .widget_search .at-search-form {
    margin-top: 16px;
}

/* Text widget */
.main_sidebar .widget_text .textwidget {
    font-size: 15px;
    line-height: 1.6;
    color: var(--at-neutral-600, #5c5c5c);
}

.main_sidebar .widget_text .textwidget > *:first-child {
    margin-top: 0;
}

.main_sidebar .widget_text .textwidget p {
    margin: 0 0 12px;
}

.main_sidebar .widget_text .textwidget strong {
    display: block;
    margin: 16px 0 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--at-neutral-900, #1a1a1a);
}

.main_sidebar .widget_text .textwidget strong:first-child {
    margin-top: 0;
}

.main_sidebar .widget_text .textwidget img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 8px 0 12px;
    border-radius: 8px;
}

.main_sidebar .widget_text .textwidget .wp-caption {
    max-width: 100%;
    margin: 12px 0;
    border-radius: 8px;
    overflow: hidden;
}

.main_sidebar .widget_text .textwidget .wp-caption img {
    margin: 0;
    border-radius: 0;
}

.main_sidebar .widget_text .textwidget .wp-caption-text {
    margin: 0;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--at-neutral-500, #737373);
    background: var(--at-neutral-50, #f2f2f2);
}

.main_sidebar .widget_text .textwidget form {
    margin-top: 8px;
}

/* Tag cloud */
.main_sidebar .widget_tag_cloud .tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.main_sidebar .widget_tag_cloud .tagcloud a {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border: 1px solid rgba(30, 30, 30, 0.08);
    border-radius: 999px;
    font-size: 13px !important;
    line-height: 1.3;
    color: var(--at-neutral-700, #4d4d4d) !important;
    text-decoration: none;
    background: var(--at-neutral-0, #fff);
    transition: border-color 0.3s ease, color 0.3s ease, background-color 0.3s ease;
}

.main_sidebar .widget_tag_cloud .tagcloud a:hover {
    border-color: var(--at-theme-primary, #c94b2a);
    color: var(--at-theme-primary, #c94b2a) !important;
    background: rgba(201, 75, 42, 0.04);
}

/* Nav menu widget */
.main_sidebar .widget_nav_menu .menu {
    margin-top: 16px;
}

.main_sidebar .widget_nav_menu .menu > li {
    border-bottom: 1px solid rgba(30, 30, 30, 0.08);
}

.main_sidebar .widget_nav_menu .menu > li:last-child {
    border-bottom: 0;
}

.main_sidebar .widget_nav_menu .menu li a {
    display: block;
    padding: 10px 0;
    font-size: 15px;
    font-weight: 500;
    color: var(--at-neutral-800, #333);
}

.main_sidebar .widget_nav_menu .menu li a:hover {
    color: var(--at-theme-primary, #c94b2a);
}

.main_sidebar .widget_nav_menu .menu .sub-menu {
    margin: 0 0 8px;
    padding: 0 0 0 16px;
    border-left: 1px solid rgba(30, 30, 30, 0.08);
}

.main_sidebar .widget_nav_menu .menu .sub-menu li {
    border-bottom: 0;
}

.main_sidebar .widget_nav_menu .menu .sub-menu a {
    padding: 7px 0;
    font-size: 14px;
    font-weight: 400;
    color: var(--at-neutral-600, #5c5c5c);
}

/* Links widget (legacy) */
.main_sidebar .widget_links .linkcat li {
    padding: 10px 0;
    border-bottom: 1px solid rgba(30, 30, 30, 0.08);
}

.main_sidebar .widget_links .linkcat li:last-child {
    border-bottom: 0;
}

.main_sidebar .widget_links .linkcat img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-bottom: 8px;
    border-radius: 8px;
}

.main_sidebar .widget_links .linkcat .link-description {
    display: block;
    margin-top: 4px;
    font-size: 13px;
    color: var(--at-neutral-500, #737373);
}

@media (max-width: 575.98px) {
    .main_sidebar .widget_block .wp-block-search__inside-wrapper {
        flex-direction: column;
        padding: 12px;
    }

    .main_sidebar .widget_block .wp-block-search__button {
        width: 100%;
    }
}