:root {
    --primary: #003c88;
    --primary-light: #1a56a6;
    --accent: #ffb703;
    --bg: #f8f9fa;
    --text: #333;
    --gray: #e9ecef;
    --border: #dee2e6;
    --sale: #e63946;
}

* {
    box-sizing: border-box;
}

body {
    font-family: 'Heebo', sans-serif;
    margin: 0;
    padding: 0;
    background-color: var(--bg);
    color: var(--text);
    line-height: 1.6;
}

/* Top Bar */
.top-bar {
    background: var(--primary);
    color: white;
    text-align: center;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}

.top-bar-desktop {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px 24px;
}

.top-bar-marquee {
    display: none;
}

.top-bar-promo {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.top-bar-phones {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px 16px;
}

.top-bar-phone-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s ease;
}

.top-bar-phone-link:hover {
    opacity: 0.88;
    text-decoration: underline;
}

.top-bar-phone-link .contact-phone-icon {
    flex-shrink: 0;
    opacity: 0.95;
}

.top-bar-phone-link .contact-phone-label {
    font-weight: 600;
}

.top-bar-phones span {
    margin: 0;
    white-space: nowrap;
}

@keyframes top-bar-marquee-scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@keyframes top-bar-marquee-scroll-rtl {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .top-bar-marquee-track {
        animation: none;
    }

    .top-bar-marquee {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .top-bar-marquee::-webkit-scrollbar {
        display: none;
    }
}

/* Header & Nav */
.site-header {
    background: white;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    position: sticky;
    top: 0;
    z-index: 100;
}

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.header-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    min-width: 0;
}

.header-brand .custom-logo-link {
    display: flex;
    align-items: center;
    line-height: 0;
    max-width: 100%;
    min-width: 0;
}

.logo {
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1.2;
}

.logo img,
.custom-logo-link img {
    max-height: 60px;
    max-width: min(200px, 100%);
    width: auto;
    height: auto;
    display: block;
}

.custom-logo-link {
    display: flex;
    align-items: center;
    line-height: 0;
}

.logo-text {
    max-width: 160px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width: 1201px) {
    .header-search-form {
        min-width: 220px;
        max-width: 280px;
    }

    .search-toggle {
        display: none;
    }
}

@media (min-width: 1025px) {
    .mobile-nav-panel {
        background: none;
        border: none;
        border-radius: 0;
        padding: 0;
        margin: 0;
        max-height: none;
        overflow: visible;
        box-shadow: none;
    }

    .mobile-nav-header,
    .mobile-nav-categories,
    .mobile-nav-utility {
        display: none !important;
    }

    .mobile-nav-main {
        width: 100%;
    }
}

.primary-nav {
    flex: 1;
    min-width: 0;
}

.nav-links {
    display: flex;
    gap: 18px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.nav-links a {
    text-decoration: none;
    color: var(--text);
    font-weight: 500;
    transition: color 0.3s;
    font-size: 15px;
    padding: 6px 0;
}

.nav-links a:hover,
.nav-links .current-menu-item > a,
.nav-links .current_page_item > a {
    color: var(--primary);
}

.header-tools {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    min-width: 0;
}

.icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: var(--text);
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
    position: relative;
    padding: 0;
    line-height: 0;
}

.icon-btn:hover,
.icon-btn:focus-visible {
    background: var(--gray);
    color: var(--primary);
}

.icon-svg {
    display: block;
}

.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;
}

/* Product search */
.header-search {
    display: flex;
    align-items: center;
    position: relative;
}

.header-search-backdrop {
    display: none;
}

.header-search-form {
    display: flex;
    align-items: center;
    gap: 4px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 4px 4px 4px 12px;
    min-width: 220px;
    max-width: 280px;
    position: relative;
}

.header-search-input {
    flex: 1;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 14px;
    color: var(--text);
    min-width: 0;
    padding: 8px 0;
}

.header-search-input:focus {
    outline: none;
}

.header-search-input::placeholder {
    color: #888;
}

.search-submit {
    background: var(--primary);
    color: white;
    width: 36px;
    height: 36px;
    border-radius: 8px;
}

.search-submit:hover,
.search-submit:focus-visible {
    background: var(--primary-light);
    color: white;
}

.search-toggle {
    display: none;
}

.header-cart .cart-count {
    position: absolute;
    top: 4px;
    right: 4px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--sale);
    color: white;
    font-size: 11px;
    font-weight: 700;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Hamburger icon */
.menu-toggle {
    display: none;
}

.menu-toggle-icon {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 22px;
    height: 22px;
}

.menu-toggle-icon .bar {
    display: block;
    width: 22px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    transition: transform 0.25s ease, opacity 0.2s ease;
}

.menu-toggle.is-active .bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.menu-toggle.is-active .bar:nth-child(2) {
    opacity: 0;
}

.menu-toggle.is-active .bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.btn {
    background: var(--primary);
    color: white;
    padding: 8px 16px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    transition: 0.3s;
    border: none;
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    line-height: 1.4;
}

.btn:hover {
    background: var(--primary-light);
    color: white;
}

.btn-accent {
    background: var(--accent);
    color: #000;
}

.btn-accent:hover {
    background: #e0a100;
    color: #000;
}

/* Hero Section */
.hero {
    color: white;
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
}

.hero-slider {
    min-height: 420px;
}

.hero-slides {
    position: relative;
    min-height: 420px;
}

.hero-slide {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--primary) 0%, #001f4d 100%);
    background-size: cover;
    background-position: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease, visibility 0.6s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.hero-slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.hero-slide.has-image .hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, rgba(0, 28, 72, 0.82) 0%, rgba(0, 60, 136, 0.55) 45%, rgba(0, 0, 0, 0.35) 100%);
    z-index: 0;
}

.hero-content-card {
    position: relative;
    z-index: 2;
    width: min(100%, 920px);
    margin: 0 auto;
    padding: 0 20px;
}

.hero-content {
    max-width: 640px;
    margin: 0 auto;
    padding: 36px 40px;
    text-align: center;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(187, 187, 187, 0.137);
    border-radius: 20px;
    backdrop-filter: blur(1px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.22);
    animation: heroContentIn 0.7s ease both;
}

.hero-slide.is-active .hero-content {
    animation: heroContentIn 0.7s ease both;
}

@keyframes heroContentIn {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hero .hero-heading,
.hero h1 {
    font-size: clamp(28px, 4vw, 46px);
    margin: 0 0 14px;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.02em;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
}

.hero-subtitle,
.hero p.hero-subtitle {
    font-size: clamp(16px, 2vw, 20px);
    margin: 0 0 28px;
    opacity: 0.95;
    line-height: 1.55;
    font-weight: 400;
}

.hero-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.btn-hero {
    min-width: 180px;
    padding: 14px 28px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 999px;
    box-shadow: 0 8px 24px rgba(255, 183, 3, 0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-hero:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(255, 183, 3, 0.45);
}

.hero-dots {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 5;
}

.hero-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.6);
    background: transparent;
    cursor: pointer;
    padding: 0;
    transition: 0.3s;
}

.hero-dot.is-active,
.hero-dot:hover {
    background: var(--accent);
    border-color: var(--accent);
}

.hero-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.2);
    color: white;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    z-index: 5;
    transition: 0.3s;
    line-height: 1;
}

.hero-nav:hover {
    background: rgba(255, 255, 255, 0.35);
}

.hero-prev {
    left: 16px;
}

.hero-next {
    right: 16px;
}

/* Sections */
.section-container {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 25px;
    border-bottom: 2px solid var(--border);
    padding-bottom: 10px;
}

.section-title {
    color: var(--primary);
    font-size: 28px;
    font-weight: 800;
    margin: 0;
}

.section-subtitle {
    color: #666;
    font-size: 16px;
    margin-top: 5px;
}

/* Product Grid */
.products-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 40px;
}

.products-grid ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.products-grid::before,
.products-grid::after {
    display: none !important;
}

.products-grid ul.products::before,
.products-grid ul.products::after {
    display: none !important;
}

.products-grid > .product-card,
.products-grid ul.products li.product {
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
}

.products-grid.cols-2,
.products-grid.cols-2 ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.products-grid.cols-3,
.products-grid.cols-3 ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.products-grid.cols-4,
.products-grid.cols-4 ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.products-grid.cols-5,
.products-grid.cols-5 ul.products {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.products-grid.cols-6,
.products-grid.cols-6 ul.products {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

/* Homepage category grid — compact icon row (dogplanet.co.il style) */
.home-categories-section {
    margin: 20px auto 12px;
}

.home-categories-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--border) transparent;
}

.home-categories-scroll::-webkit-scrollbar {
    height: 6px;
}

.home-categories-scroll::-webkit-scrollbar-thumb {
    background: var(--border);
    border-radius: 999px;
}

.home-categories-scroll:focus {
    outline: none;
}

.home-categories-scroll:focus-visible {
    outline: 2px solid var(--primary-light);
    outline-offset: 4px;
    border-radius: 8px;
}

.home-categories-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 10px;
    min-width: min-content;
    padding: 4px 0 10px;
}

.home-category-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 120px;
    padding: 6px 4px 8px;
    text-decoration: none;
    color: inherit;
    border-radius: 12px;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.home-category-card:hover {
    background: #fff;
    transform: translateY(-2px);
}

.home-category-card:focus-visible {
    outline: 2px solid var(--primary-light);
    outline-offset: 2px;
}

.home-category-media {
    display: block;
    width: 88px;
    height: 88px;
    flex-shrink: 0;
    border-radius: 12px;
    background: linear-gradient(145deg, var(--primary-light) 0%, var(--primary) 100%);
    background-size: cover;
    background-position: center;
    position: relative;
    border: 2px solid #fff;
    box-shadow: 0 4px 14px rgba(0, 60, 136, 0.14);
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.home-category-card:hover .home-category-media {
    border-color: var(--accent);
    box-shadow: 0 6px 18px rgba(0, 60, 136, 0.2);
}

.home-category-media .home-category-overlay {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: transparent;
    transition: background 0.2s ease;
}

.home-category-media.has-image .home-category-overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0.18) 100%);
}

.home-category-label {
    display: block;
    font-weight: 600;
    font-size: 12px;
    line-height: 1.35;
    text-align: center;
    color: var(--text);
    max-width: 100%;
    padding: 0 2px;
}

.home-category-card:hover .home-category-label {
    color: var(--primary);
}

@media (min-width: 992px) {
    .home-categories-grid {
        gap: 14px 12px;
    }

    .home-category-card {
        width: 128px;
        padding: 8px 6px 10px;
    }

    .home-category-media {
        width: 96px;
        height: 96px;
        border-radius: 14px;
    }

    .home-category-label {
        font-size: 13px;
    }
}

.home-promo-banner-wrap {
    margin-bottom: 20px;
}

.about-section-lead {
    font-size: 18px;
    margin-bottom: 16px;
}

.about-section-content p {
    margin-bottom: 14px;
}

@media (max-width: 1200px) {
    .nav-container {
        gap: 12px;
        padding: 10px 16px;
    }

    .nav-links {
        gap: 12px;
    }

    .nav-links a {
        font-size: 14px;
    }

    .search-toggle {
        display: inline-flex;
    }

    .header-search:not(.is-open) .header-search-form {
        display: none;
    }

    .header-search-backdrop {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.4);
        z-index: 200;
    }

    .header-search.is-open .header-search-backdrop {
        display: block;
    }

    .header-search.is-open .header-search-form,
    .header-search-form.header-search-form--overlay {
        display: flex;
        position: fixed;
        left: 12px;
        right: 12px;
        width: auto;
        max-width: none;
        min-width: 0;
        box-sizing: border-box;
        z-index: 201;
        box-shadow: 0 10px 28px rgba(0, 60, 136, 0.18);
        padding: 6px 6px 6px 12px;
        margin: 0;
    }

    .header-search.is-open .header-search-suggestions,
    .header-search-form.header-search-form--overlay .header-search-suggestions {
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        right: 0;
        width: 100%;
        min-width: 0;
        max-width: none;
        box-sizing: border-box;
        z-index: 202;
    }

    body.header-search-open {
        overflow: hidden;
    }

    html[dir="rtl"] .header-search.is-open .header-search-form,
    html[dir="rtl"] .header-search-form.header-search-form--overlay {
        left: 12px;
        right: 12px;
    }
}

@media (max-width: 1024px) {
    .products-grid,
    .products-grid.cols-2,
    .products-grid.cols-3,
    .products-grid.cols-4,
    .products-grid.cols-5,
    .products-grid.cols-6,
    .products-grid ul.products,
    .products-grid.cols-2 ul.products,
    .products-grid.cols-3 ul.products,
    .products-grid.cols-4 ul.products,
    .products-grid.cols-5 ul.products,
    .products-grid.cols-6 ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .nav-container {
        flex-wrap: wrap;
        padding: 10px 16px;
        gap: 8px;
    }

    .header-brand {
        flex: 1;
        min-width: 0;
    }

    .menu-toggle {
        display: inline-flex;
    }

    .primary-nav {
        order: 4;
        width: 100%;
        display: none;
        padding: 0;
        border-top: none;
        flex: none;
    }

    .primary-nav.is-open {
        display: block;
    }

    .mobile-nav-panel {
        margin-top: 10px;
        background: var(--bg);
        border: 1px solid var(--border);
        border-radius: 14px;
        padding: 14px;
        box-shadow: 0 10px 28px rgba(0, 60, 136, 0.12);
        max-height: min(72vh, 560px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .mobile-nav-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 12px;
        margin-bottom: 4px;
        border-bottom: 2px solid var(--border);
    }

    .mobile-nav-title {
        font-size: 17px;
        font-weight: 800;
        color: var(--primary);
    }

    .mobile-nav-main .nav-links,
    .nav-links.nav-links-wp,
    .nav-links.nav-links-fallback {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .mobile-nav-main .nav-links > li,
    .nav-links.nav-links-wp > li,
    .nav-links.nav-links-fallback > li {
        border-bottom: 1px solid var(--border);
    }

    .mobile-nav-main .nav-links > li:last-child,
    .nav-links.nav-links-wp > li:last-child,
    .nav-links.nav-links-fallback > li:last-child {
        border-bottom: none;
    }

    .mobile-nav-main .nav-links > li > a,
    .nav-links.nav-links-wp > li > a,
    .nav-links.nav-links-fallback > li > a {
        display: block;
        padding: 14px 10px;
        font-size: 15px;
        font-weight: 600;
        border-radius: 8px;
        transition: background-color 0.2s ease, color 0.2s ease;
    }

    .mobile-nav-main .nav-links > li > a:hover,
    .mobile-nav-main .nav-links > li > a:focus-visible,
    .nav-links.nav-links-wp > li > a:hover,
    .nav-links.nav-links-wp > li > a:focus-visible {
        background: #fff;
        color: var(--primary);
    }

    .nav-links.nav-links-wp .menu-item-has-children > a {
        color: var(--primary);
        font-weight: 700;
    }

    .nav-links.nav-links-wp .sub-menu {
        display: block !important;
        position: static !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        list-style: none;
        margin: 0;
        padding: 0 0 8px 8px;
        border-top: none;
        background: #fff;
        border-radius: 10px;
        border: 1px solid var(--border);
    }

    .nav-links.nav-links-wp .sub-menu li {
        border-bottom: 1px solid var(--border);
    }

    .nav-links.nav-links-wp .sub-menu li:last-child {
        border-bottom: none;
    }

    .nav-links.nav-links-wp .sub-menu a {
        display: block;
        padding: 12px 10px;
        font-size: 14px;
        font-weight: 500;
        color: var(--text);
    }

    .nav-links.nav-links-wp .sub-menu a:hover,
    .nav-links.nav-links-wp .sub-menu a:focus-visible {
        color: var(--primary);
        background: var(--bg);
    }

    .mobile-nav-categories {
        margin-top: 14px;
        padding-top: 14px;
        border-top: 1px solid var(--border);
    }

    .mobile-nav-label {
        margin: 0 0 10px;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #666;
    }

    .mobile-nav-category-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .mobile-nav-category-list a {
        display: block;
        padding: 11px 10px;
        text-align: center;
        text-decoration: none;
        font-size: 13px;
        font-weight: 700;
        color: var(--text);
        background: #fff;
        border: 1px solid var(--border);
        border-radius: 10px;
        line-height: 1.3;
        transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
    }

    .mobile-nav-category-list a:hover,
    .mobile-nav-category-list a:focus-visible {
        color: var(--primary);
        border-color: var(--primary-light);
        background: #fff;
    }

    .mobile-nav-utility {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-top: 14px;
        padding-top: 14px;
        border-top: 1px solid var(--border);
    }

    .mobile-nav-utility-link {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 12px 10px;
        text-decoration: none;
        font-size: 14px;
        font-weight: 700;
        color: var(--text);
        background: #fff;
        border: 1px solid var(--border);
        border-radius: 10px;
        transition: border-color 0.2s ease, color 0.2s ease;
    }

    .mobile-nav-utility-link:hover,
    .mobile-nav-utility-link:focus-visible {
        color: var(--primary);
        border-color: var(--primary-light);
    }

    body.mobile-nav-open {
        overflow: hidden;
    }

    .logo-text {
        max-width: 140px;
        font-size: 18px;
    }

    .top-bar {
        padding: 8px 0;
        font-size: 13px;
        overflow: hidden;
    }

    .top-bar-desktop {
        display: none;
    }

    .top-bar-marquee {
        display: block;
        overflow: hidden;
        width: 100%;
    }

    .top-bar-marquee-track {
        display: flex;
        width: max-content;
        animation: top-bar-marquee-scroll 28s linear infinite;
        will-change: transform;
    }

    .top-bar-marquee-group {
        display: flex;
        align-items: center;
        gap: 32px;
        padding-inline-end: 32px;
        flex-shrink: 0;
    }

    .top-bar-marquee-group .top-bar-promo {
        max-width: none;
        overflow-wrap: normal;
        white-space: nowrap;
    }

    .top-bar-marquee-group .top-bar-phones {
        display: flex;
        flex-wrap: nowrap;
        gap: 16px;
    }
}

@media (max-width: 768px) {
    .nav-container {
        padding: 8px 12px;
        gap: 6px;
    }

    .icon-btn {
        width: 40px;
        height: 40px;
        border-radius: 8px;
    }

    .logo img,
    .custom-logo-link img {
        max-height: 60px;
        max-width: min(200px, 100%);
    }

    .logo-text {
        max-width: 120px;
        font-size: 16px;
    }

    .header-search-suggestions {
        min-width: 0;
    }

    .products-grid,
    .products-grid.cols-2,
    .products-grid.cols-3,
    .products-grid.cols-4,
    .products-grid.cols-5,
    .products-grid.cols-6,
    .products-grid ul.products,
    .products-grid.cols-2 ul.products,
    .products-grid.cols-3 ul.products,
    .products-grid.cols-4 ul.products,
    .products-grid.cols-5 ul.products,
    .products-grid.cols-6 ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .products-grid .product-img-container {
        height: 160px;
    }

    .products-grid .product-card {
        padding: 12px;
    }

    .products-grid .product-title {
        font-size: 14px;
    }

    .products-grid .product-price-container .price {
        font-size: 16px;
    }

    .home-categories-grid {
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 12px;
        padding-bottom: 12px;
        scroll-snap-type: x proximity;
    }

    .home-category-card {
        flex: 0 0 auto;
        width: 100px;
        scroll-snap-align: start;
    }

    .home-category-media {
        width: 76px;
        height: 76px;
        border-radius: 10px;
    }

    .home-category-label {
        font-size: 11px;
    }

    .hero .hero-heading,
    .hero h1 {
        font-size: 32px;
    }
}

@media (max-width: 480px) {
    .top-bar {
        font-size: 12px;
        padding: 6px 0;
    }

    .top-bar-marquee-group {
        gap: 24px;
        padding-inline-end: 24px;
    }

    .nav-container {
        padding: 6px 10px;
        gap: 4px;
    }

    .header-tools {
        gap: 2px;
    }

    .icon-btn {
        width: 36px;
        height: 36px;
    }

    .icon-svg {
        width: 20px;
        height: 20px;
    }

    .logo img,
    .custom-logo-link img {
        max-height: 50px;
        max-width: min(200px, 100%);
    }

    .logo-text {
        max-width: 96px;
        font-size: 15px;
    }

    .menu-toggle-icon {
        width: 20px;
        height: 20px;
        gap: 4px;
    }

    .menu-toggle-icon .bar {
        width: 20px;
    }

    .header-search-form {
        inset-inline: 10px;
        left: 10px;
        right: 10px;
    }

    .products-grid,
    .products-grid.cols-2,
    .products-grid.cols-3,
    .products-grid.cols-4,
    .products-grid.cols-5,
    .products-grid.cols-6,
    .products-grid ul.products,
    .products-grid.cols-2 ul.products,
    .products-grid.cols-3 ul.products,
    .products-grid.cols-4 ul.products,
    .products-grid.cols-5 ul.products,
    .products-grid.cols-6 ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .section-container {
        padding-left: 12px;
        padding-right: 12px;
    }

    .section-title {
        font-size: 22px;
    }

    .section-subtitle {
        font-size: 14px;
    }

    .products-grid .product-img-container {
        height: 130px;
    }

    .products-grid .product-card {
        padding: 10px;
    }

    .products-grid .product-title {
        font-size: 13px;
        line-height: 1.35;
    }

    .products-grid .product-card .button {
        font-size: 13px !important;
        padding: 8px 10px !important;
    }
}

.product-card {
    background: white;
    border-radius: 12px;
    padding: 15px;
    text-align: center;
    border: 1px solid var(--border);
    transition: box-shadow 0.3s, transform 0.3s;
    display: flex;
    flex-direction: column;
    position: relative;
    height: 100%;
}

.product-card:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    transform: translateY(-3px);
}

.sale-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: var(--sale);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
    z-index: 2;
}

.product-img-container {
    width: 100%;
    height: 200px;
    background-color: var(--gray);
    border-radius: 8px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.product-img-container a {
    display: block;
    width: 100%;
    height: 100%;
}

.product-img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 10px 0;
    line-height: 1.4;
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-title a {
    color: inherit;
    text-decoration: none;
}

.product-title a:hover {
    color: var(--primary);
}

.product-price-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 10px 0;
    flex-wrap: wrap;
}

.product-price-container .price {
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
}

.product-price-container .old-price,
.product-price-container del {
    font-size: 14px;
    color: #999;
    text-decoration: line-through;
}

.price-per-unit {
    font-size: 12px;
    color: #999;
}

.add-to-cart,
.product-card .button {
    background: var(--primary) !important;
    color: white !important;
    border: none !important;
    padding: 10px 15px !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    cursor: pointer;
    transition: 0.3s;
    font-size: 14px !important;
    width: 100%;
    margin-top: auto;
    text-decoration: none;
    display: block;
    line-height: 1.4;
}

.add-to-cart:hover,
.product-card .button:hover {
    background: var(--primary-light) !important;
    color: white !important;
}

/* YITH Wishlist */
.header-wishlist .icon-svg {
    width: 20px;
    height: 20px;
}

.header-wishlist .wishlist-count {
    position: absolute;
    top: 4px;
    right: 4px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--sale);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.product-img-container .dog-planet-wishlist-button-wrap {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 3;
    line-height: 0;
}

.product-img-container .dog-planet-wishlist-button-wrap .yith-wcwl-add-to-wishlist {
    margin: 0;
    padding: 0;
    line-height: 1;
}

.product-img-container .dog-planet-wishlist-button-wrap .yith-wcwl-add-button {
    margin: 0;
    line-height: 0;
}

.product-img-container .dog-planet-wishlist-button-wrap .yith-wcwl-add-to-wishlist a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
    text-decoration: none;
    color: #666;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.product-img-container .dog-planet-wishlist-button-wrap .yith-wcwl-add-to-wishlist a:hover {
    color: var(--primary);
    border-color: rgba(0, 60, 136, 0.2);
    background: #fff;
    transform: scale(1.05);
}

.product-img-container .dog-planet-wishlist-button-wrap .yith-wcwl-add-to-wishlist.exists a,
.product-img-container .dog-planet-wishlist-button-wrap .yith-wcwl-wishlistexistsbrowse a {
    color: var(--sale);
}

.product-img-container .dog-planet-wishlist-button-wrap svg.yith-wcwl-icon-svg,
.product-img-container .dog-planet-wishlist-button-wrap .yith-wcwl-icon-svg {
    width: 25px !important;
    height: 25px !important;
    display: block;
}

.product-img-container .dog-planet-wishlist-button-wrap .yith-wcwl-icon,
.product-img-container .dog-planet-wishlist-button-wrap i {
    font-size: 14px !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
}

.product-img-container .dog-planet-wishlist-button-wrap img.yith-wcwl-custom-icon {
    width: 15px !important;
    height: 15px !important;
    object-fit: contain;
}

.product-img-container .dog-planet-wishlist-button-wrap .yith-wcwl-add-to-wishlist .yith-wcwl-icon {
    margin: 0;
}

.product-wishlist-block {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.product-wishlist-block .dog-planet-wishlist-button-wrap,
.product-wishlist-block .yith-wcwl-add-to-wishlist {
    margin: 0;
}

.product-wishlist-block .yith-wcwl-add-to-wishlist a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid var(--border);
    font-weight: 600;
    font-size: 13px;
    line-height: 1.3;
    text-decoration: none;
    color: var(--text);
    background: #fff;
    transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.product-wishlist-block .yith-wcwl-add-to-wishlist a:hover {
    border-color: var(--primary-light);
    color: var(--primary);
    background: var(--bg);
}

.product-wishlist-block svg.yith-wcwl-icon-svg,
.product-wishlist-block .yith-wcwl-icon-svg {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0;
}

.product-wishlist-block .yith-wcwl-icon,
.product-wishlist-block i {
    font-size: 15px !important;
    line-height: 1 !important;
}

.product-wishlist-block img.yith-wcwl-custom-icon {
    width: 16px !important;
    height: 16px !important;
}

.product-card .yith-wcwl-add-to-wishlist .yith-wcwl-add-button span:not(.yith-wcwl-icon):not(.yith-wcwl-icon-svg__wrapper),
.product-card .dog-planet-wishlist-button-wrap .yith-wcwl-add-to-wishlist .yith-wcwl-add-button span:not(.yith-wcwl-icon):not(.yith-wcwl-icon-svg__wrapper) {
    display: none;
}

.product-card .dog-planet-wishlist-button-wrap .feedback,
.product-card .dog-planet-wishlist-button-wrap .yith-wcwl-count-text {
    display: none;
}

/* Category Banners */
.category-banner {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
    background-size: cover;
    background-position: center;
    color: white;
    padding: 40px 20px;
    border-radius: 12px;
    text-align: center;
    margin: 60px auto 40px;
    max-width: 1200px;
    position: relative;
    overflow: hidden;
}

.category-banner.has-image .category-banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 100%);
    z-index: 1;
}

.category-banner.has-video .category-banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.65) 100%);
    z-index: 1;
}

.category-banner-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.category-banner-fallback-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 0;
}

.category-banner-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
    z-index: 1;
    background: transparent;
}

.category-banner-video.is-hidden {
    opacity: 0;
    visibility: hidden;
}

.category-banner.has-fallback-image {
    background-size: cover;
    background-position: center;
}

.category-banner.has-video::before,
.category-banner.has-image::before {
    z-index: 0;
}

.category-banner.has-video::before {
    opacity: 0.35;
}

.category-banner::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
    background-size: 30px 30px;
    animation: float 20s linear infinite;
    z-index: 0;
}

.category-banner-content {
    position: relative;
    z-index: 2;
}

.category-banner h3 {
    font-size: 24px;
    margin: 0 0 10px 0;
    font-weight: 800;
}

.category-banner p {
    font-size: 16px;
    margin: 0 0 20px 0;
    opacity: 0.95;
}

.banner-cta {
    background: var(--accent);
    color: #000;
    padding: 10px 25px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 700;
    display: inline-block;
    transition: 0.3s;
    border: none;
    cursor: pointer;
    font-size: 14px;
}

.banner-cta:hover {
    background: #e0a100;
    transform: scale(1.05);
    color: #000;
}

@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(20px); }
    100% { transform: translateY(0px); }
}

/* About Section */
.about-section {
    max-width: 1200px;
    margin: 60px auto;
    padding: 40px 20px;
    background: white;
    border-radius: 12px;
    border: 1px solid var(--border);
}

.about-section h2 {
    color: var(--primary);
    font-size: 28px;
    margin-top: 0;
}

.about-section p {
    font-size: 16px;
    line-height: 1.8;
}

/* Deals Section */
.deals-section {
    background: #fff5f5;
    padding: 30px;
    border-radius: 12px;
    border: 1px dashed var(--sale);
}

.deals-section .section-title {
    color: var(--sale);
}

.deals-section .section-header {
    border-bottom-color: var(--sale);
}

/* Footer */
.site-footer {
    background: var(--primary);
    color: white;
    padding: 40px 20px;
    margin-top: 60px;
}

.footer-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    margin-bottom: 30px;
}

.footer-col h3 {
    margin-top: 0;
    font-size: 18px;
}

.footer-col a:not(.footer-logo):not(.footer-social-link):not(.footer-contact-link) {
    display: block;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    margin-bottom: 8px;
    transition: 0.3s;
}

.footer-col a:not(.footer-logo):not(.footer-social-link):not(.footer-contact-link):hover {
    color: var(--accent);
}

.footer-col p {
    margin: 8px 0;
    line-height: 1.8;
}

.footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-col ul li {
    margin-bottom: 8px;
}

.footer-col ul a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
}

.footer-col ul a:hover {
    color: var(--accent);
}

.footer-logo {
    display: inline-block;
    line-height: 0;
    margin-bottom: 12px;
}

.footer-logo img {
    max-width: 260px;
    height: auto;
    display: block;
}

.footer-col h3:has(.footer-logo) {
    margin-bottom: 0;
}

.footer-social-label {
    margin: 0 0 12px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
}

.footer-social-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-social-list li {
    margin: 0;
}

.footer-social-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 220px;
    padding: 8px 12px 8px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #fff;
    text-decoration: none;
    transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.footer-social-link:hover {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.35);
    transform: translateX(4px);
    color: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.dog-planet-rtl .footer-social-link:hover {
    transform: translateX(-4px);
}

.footer-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    transition: transform 0.25s ease;
}

.footer-social-link:hover .footer-social-icon {
    transform: scale(1.08);
}

.footer-social-link--facebook .footer-social-icon {
    background: #1877f2;
}

.footer-social-link--instagram .footer-social-icon {
    background: linear-gradient(135deg, #f58529 0%, #dd2a7b 50%, #8134af 100%);
}

.footer-social-link--tiktok .footer-social-icon {
    background: linear-gradient(135deg, #25f4ee 0%, #111 45%, #fe2c55 100%);
}

.footer-social-text {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
}

.footer-social-link:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}

@media (max-width: 768px) {
    .footer-social-list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px;
    }

    .footer-social-link {
        width: auto;
        max-width: none;
        padding: 0;
        border-radius: 50%;
        background: transparent;
        border: none;
    }

    .footer-social-link:hover {
        transform: translateY(-3px);
        background: transparent;
        border-color: transparent;
        box-shadow: none;
    }

    .dog-planet-rtl .footer-social-link:hover {
        transform: translateY(-3px);
    }

    .footer-social-icon {
        width: 44px;
        height: 44px;
    }

    .footer-social-text {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
}

.footer-contact-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-contact-list li {
    margin-bottom: 0;
}

.footer-contact-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 280px;
    padding: 8px 14px 8px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #fff;
    text-decoration: none;
    line-height: 1.35;
    transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.footer-contact-link:hover {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.35);
    transform: translateX(4px);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.dog-planet-rtl .footer-contact-link:hover {
    transform: translateX(-4px);
}

.footer-contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.footer-contact-link--phone .footer-contact-icon {
    background: rgba(255, 183, 3, 0.28);
    border-color: rgba(255, 183, 3, 0.5);
    color: var(--accent);
}

.footer-contact-link--email .footer-contact-icon {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.footer-contact-link .contact-phone-icon,
.footer-contact-link .contact-email-icon {
    display: block;
    flex-shrink: 0;
}

.footer-contact-link .contact-phone-text,
.footer-contact-link .contact-email-text {
    display: block;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    min-width: 0;
}

.footer-contact-link .contact-phone-label {
    font-weight: 700;
}

.footer-contact-link:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}

.footer-bottom {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center;
    opacity: 0.8;
}

/* WooCommerce shop / archive */
.woocommerce-page .section-container,
.woocommerce .section-container {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}

.woocommerce-shop-wrap {
    max-width: 100%;
    overflow-x: clip;
}

.woocommerce-breadcrumb {
    margin-bottom: 20px;
    font-size: 14px;
}

.woocommerce-notices-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Single product — legacy WC wrapper reset */
.single-product .product.dog-planet-single-product {
    max-width: none;
    margin: 0;
    padding: 0;
}

/* Catalog sidebar position (Customizer) — desktop only */
@media (min-width: 901px) {
    .catalog-layout > .catalog-filters-toggle {
        grid-column: 1 / -1;
    }

    .catalog-layout > .catalog-sidebar {
        grid-column: 1;
        grid-row: 2;
    }

    .catalog-layout > .catalog-main {
        grid-column: 2;
        grid-row: 2;
    }

    .catalog-layout.catalog-sidebar-pos-right {
        grid-template-columns: minmax(0, 1fr) 280px;
    }

    .catalog-layout.catalog-sidebar-pos-right > .catalog-sidebar {
        grid-column: 2;
    }

    .catalog-layout.catalog-sidebar-pos-right > .catalog-main {
        grid-column: 1;
    }
}

/* Single product page */
.dog-planet-single-product {
    padding-bottom: 48px;
}

.single-product-inner {
    margin-top: 24px;
}

.product-breadcrumb-wrap {
    margin-bottom: 20px;
}

.product-breadcrumb-wrap .woocommerce-breadcrumb {
    font-size: 14px;
    color: #666;
    margin: 0;
}

.product-breadcrumb-wrap .woocommerce-breadcrumb a {
    color: var(--primary);
    text-decoration: none;
}

.product-top-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 32px;
    align-items: start;
    margin-bottom: 40px;
}

.product-gallery-column,
.product-summary-column {
    min-width: 0;
    width: 100%;
}

.product-top-grid.product-gallery-pos-right .product-gallery-column {
    order: 2;
}

.product-top-grid.product-gallery-pos-right .product-summary-column {
    order: 1;
}

.product-gallery-column {
    position: relative;
}

.product-gallery-card,
.product-summary-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 16px;
    padding: 24px;
    width: 100%;
    box-sizing: border-box;
}

.product-gallery-card {
    overflow: visible;
}

.product-gallery-card .woocommerce-product-gallery {
    position: relative;
    margin: 0;
    width: 100%;
    max-width: 100%;
    opacity: 1;
}

/* Override WooCommerce default 48% gallery column */
.woocommerce div.product.dog-planet-single-product div.images,
.woocommerce-page div.product.dog-planet-single-product div.images,
.dog-planet-single-product .product-gallery-card div.images {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.woocommerce div.product.dog-planet-single-product div.images .woocommerce-product-gallery .woocommerce-product-gallery__image:nth-child(n + 2),
.dog-planet-single-product .woocommerce-product-gallery .woocommerce-product-gallery__image:nth-child(n + 2) {
    width: auto;
    max-width: none;
}

/* Side-thumb slider layout */
.dog-planet-gallery-slider .dog-planet-gallery-layout {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    width: 100%;
}

html[dir="rtl"] .dog-planet-gallery-slider .dog-planet-gallery-layout {
    flex-direction: row-reverse;
}

/* Override WooCommerce .flex-control-thumbs if class is present */
.woocommerce .dog-planet-gallery-slider .dog-planet-gallery-thumbs,
.dog-planet-gallery-slider .dog-planet-gallery-thumbs {
    --gallery-thumb-size: 100px;
    flex: 0 0 var(--gallery-thumb-size);
    width: var(--gallery-thumb-size) !important;
    min-width: var(--gallery-thumb-size);
    max-width: var(--gallery-thumb-size);
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: min(520px, 70vh);
    scrollbar-width: thin;
    align-self: center;
}

.woocommerce .dog-planet-gallery-slider .dog-planet-gallery-thumbs li,
.dog-planet-gallery-slider .dog-planet-gallery-thumbs li {
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
    flex: 0 0 auto;
}

/* Desktop: vertical side column — full width of thumb strip */
.dog-planet-gallery-slider:not(.dog-planet-gallery--mobile) .dog-planet-gallery-thumbs li {
    width: 100% !important;
    max-width: none !important;
}

.dog-planet-gallery-thumb {
    display: block;
    width: 100%;
    height: var(--gallery-thumb-size);
    min-height: var(--gallery-thumb-size);
    min-width: var(--gallery-thumb-size);
    padding: 0;
    border: 2px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
    line-height: 0;
    box-sizing: border-box;
}

.dog-planet-gallery-thumb img {
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    opacity: 0.7;
    transition: opacity 0.25s ease;
}

.dog-planet-gallery-thumb:hover img,
.dog-planet-gallery-thumb.is-active img {
    opacity: 1;
}

.dog-planet-gallery-thumb.is-active {
    border-color: var(--accent);
    box-shadow: 0 2px 10px rgba(0, 60, 136, 0.18);
}

.dog-planet-gallery-thumb:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.dog-planet-gallery-stage {
    flex: 1 1 auto;
    min-width: 0;
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    transition: height 0.35s ease;
}

.dog-planet-gallery-track {
    position: relative;
    width: 100%;
}

.dog-planet-gallery-slider .woocommerce-product-gallery__wrapper {
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
    position: relative;
}

.dog-planet-gallery-slider .woocommerce-product-gallery__image {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    display: block;
    opacity: 0;
    visibility: hidden;
    transform: translateX(12px);
    transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    pointer-events: none;
}

html[dir="rtl"] .dog-planet-gallery-slider .woocommerce-product-gallery__image {
    transform: translateX(-12px);
}

.dog-planet-gallery-slider .woocommerce-product-gallery__image.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    position: relative;
    pointer-events: auto;
    z-index: 2;
}

.dog-planet-gallery-slider .woocommerce-product-gallery__image.is-exiting {
    opacity: 0;
    visibility: hidden;
    transform: translateX(-12px);
    z-index: 1;
}

html[dir="rtl"] .dog-planet-gallery-slider .woocommerce-product-gallery__image.is-exiting {
    transform: translateX(12px);
}

.dog-planet-gallery-single .woocommerce-product-gallery__image {
    opacity: 1;
    visibility: visible;
    transform: none;
    position: relative;
}

.dog-planet-single-product div.images .woocommerce-product-gallery__image img,
.product-gallery-card .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    opacity: 1 !important;
    visibility: visible !important;
}

.product-gallery-card .woocommerce-product-gallery__trigger {
    z-index: 5;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}

.dog-planet-rtl .product-gallery-card .woocommerce-product-gallery__trigger {
    right: auto;
    left: 0.5em;
}

/* PhotoSwipe fullscreen above header/mobile nav */
.pswp {
    z-index: 100000;
}

@media (max-width: 1024px) {
    .dog-planet-gallery-slider:not(.dog-planet-gallery--mobile) .dog-planet-gallery-thumbs {
        --gallery-thumb-size: 88px;
    }
}

@media (max-width: 768px) {
    .dog-planet-gallery-slider .dog-planet-gallery-layout,
    .dog-planet-gallery-slider.dog-planet-gallery--mobile .dog-planet-gallery-layout {
        flex-direction: column !important;
        align-items: stretch;
        gap: 14px;
    }

    html[dir="rtl"] .dog-planet-gallery-slider .dog-planet-gallery-layout,
    html[dir="rtl"] .dog-planet-gallery-slider.dog-planet-gallery--mobile .dog-planet-gallery-layout {
        flex-direction: column !important;
    }

    .dog-planet-gallery-slider .dog-planet-gallery-stage,
    .dog-planet-gallery-slider.dog-planet-gallery--mobile .dog-planet-gallery-stage {
        order: -1;
        width: 100%;
    }

    /* Horizontal thumbnail row below main image */
    .dog-planet-gallery-slider .dog-planet-gallery-thumbs,
    .dog-planet-gallery-slider.dog-planet-gallery--mobile .dog-planet-gallery-thumbs {
        --gallery-thumb-size: clamp(72px, 21vw, 88px);
        flex: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: none !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch;
        justify-content: flex-start;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 10px;
        padding: 4px 2px 8px;
        align-self: stretch;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
    }

    html[dir="rtl"] .dog-planet-gallery-slider .dog-planet-gallery-thumbs,
    html[dir="rtl"] .dog-planet-gallery-slider.dog-planet-gallery--mobile .dog-planet-gallery-thumbs {
        direction: rtl;
        justify-content: flex-start;
    }

    .dog-planet-gallery-slider .dog-planet-gallery-thumbs li,
    .dog-planet-gallery-slider.dog-planet-gallery--mobile .dog-planet-gallery-thumbs li {
        flex: 0 0 var(--gallery-thumb-size) !important;
        width: var(--gallery-thumb-size) !important;
        min-width: var(--gallery-thumb-size) !important;
        max-width: var(--gallery-thumb-size) !important;
        scroll-snap-align: start;
    }

    .dog-planet-gallery-slider .dog-planet-gallery-thumb,
    .dog-planet-gallery-slider.dog-planet-gallery--mobile .dog-planet-gallery-thumb {
        width: var(--gallery-thumb-size);
        height: var(--gallery-thumb-size);
        min-width: var(--gallery-thumb-size);
        min-height: var(--gallery-thumb-size);
    }
}

@media (max-width: 400px) {
    .dog-planet-gallery-slider .dog-planet-gallery-thumbs,
    .dog-planet-gallery-slider.dog-planet-gallery--mobile .dog-planet-gallery-thumbs {
        --gallery-thumb-size: clamp(68px, 24vw, 80px);
    }
}

.product-sale-ribbon {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    background: var(--sale);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 999px;
}

.product-summary-card .product_title {
    font-size: 26px;
    line-height: 1.3;
    color: var(--primary);
    margin: 0 0 12px;
}

.product-category-pill {
    display: inline-block;
    margin-bottom: 16px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(0, 60, 136, 0.08);
    color: var(--primary);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.product-category-pill:hover {
    background: var(--primary);
    color: #fff;
}

.product-short-description {
    font-size: 15px;
    line-height: 1.7;
    color: #444;
    margin-bottom: 20px;
}

.product-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 12px;
}

.product-price-wrap .price {
    font-size: 28px;
    font-weight: 800;
    color: var(--primary);
}

.product-price-wrap .price del {
    font-size: 18px;
    color: #999;
    font-weight: 500;
}

.product-sku {
    font-size: 13px;
    color: #888;
}

.product-stock-row {
    margin-bottom: 20px;
    font-size: 14px;
}

.product-stock-row .stock {
    font-weight: 600;
}

.product-stock-row .stock.in-stock {
    color: #1a7f37;
}

.product-stock-row .stock.out-of-stock {
    color: var(--sale);
}

.product-cart-block {
    margin-bottom: 24px;
}

.product-cart-block .stock {
    display: none;
}

.product-cart-block form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.product-cart-block .quantity {
    margin: 0;
}

.product-cart-block .quantity input {
    width: 72px;
    padding: 10px 12px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    font-size: 16px;
    text-align: center;
}

.product-cart-block .single_add_to_cart_button {
    flex: 1;
    min-width: 180px;
    padding: 14px 24px;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
}

.product-cart-block .single_add_to_cart_button:hover {
    background: #002a5c;
}

.product-contact-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
    padding: 16px;
    background: rgba(0, 60, 136, 0.04);
    border-radius: 12px;
    margin-bottom: 12px;
}

.product-contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    color: var(--text);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.2s;
}

button.product-contact-item {
    cursor: pointer;
    font-family: inherit;
    width: 100%;
    text-align: inherit;
    line-height: 1.3;
}

.product-contact-item:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.product-contact-item.product-contact-whatsapp {
    background: #25d366;
    border-color: #25d366;
    color: #fff;
}

.product-contact-item.product-contact-whatsapp .icon-svg {
    color: #fff;
    flex-shrink: 0;
}

.product-contact-item.product-contact-whatsapp:hover {
    background: #128c7e;
    border-color: #128c7e;
    color: #fff;
}

.product-contact-item.product-contact-whatsapp:hover .icon-svg {
    color: #fff;
}

/* Product enquiry modal */
body.dog-planet-modal-open {
    overflow: hidden;
}

.dog-planet-modal {
    position: fixed;
    inset: 0;
    z-index: 100001;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}

.dog-planet-modal[hidden] {
    display: none !important;
}

.dog-planet-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(2px);
}

.dog-planet-modal-dialog {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 480px;
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
}

.dog-planet-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.06);
    color: var(--text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
}

html[dir="rtl"] .dog-planet-modal-close {
    right: auto;
    left: 12px;
}

.dog-planet-modal-close:hover {
    background: rgba(0, 0, 0, 0.12);
}

.dog-planet-modal-title {
    margin: 0 0 6px;
    font-size: 22px;
    line-height: 1.3;
    color: var(--primary);
}

.dog-planet-modal-subtitle {
    margin: 0 0 8px;
    font-size: 14px;
    color: #666;
}

.dog-planet-enquiry-product-name {
    margin: 0 0 20px;
    font-size: 14px;
    font-weight: 700;
    color: var(--text);
    padding: 8px 12px;
    background: rgba(0, 60, 136, 0.06);
    border-radius: 8px;
}

.dog-planet-enquiry-form .dog-planet-form-row {
    margin-bottom: 14px;
}

.dog-planet-enquiry-form label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
}

.dog-planet-enquiry-form .required {
    color: var(--sale);
}

.dog-planet-enquiry-form input,
.dog-planet-enquiry-form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 10px;
    font-size: 15px;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dog-planet-enquiry-form input:focus,
.dog-planet-enquiry-form textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(0, 60, 136, 0.12);
}

.dog-planet-enquiry-form textarea {
    resize: vertical;
    min-height: 96px;
}

.dog-planet-enquiry-feedback {
    margin: 0 0 14px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
}

.dog-planet-enquiry-feedback.is-success {
    background: rgba(0, 117, 24, 0.1);
    color: #007518;
}

.dog-planet-enquiry-feedback.is-error {
    background: rgba(204, 24, 24, 0.1);
    color: #a00;
}

.dog-planet-modal-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

html[dir="rtl"] .dog-planet-modal-actions {
    justify-content: flex-start;
}

.dog-planet-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    border: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.dog-planet-btn-primary {
    background: var(--primary);
    color: #fff;
}

.dog-planet-btn-primary:hover:not(:disabled) {
    background: #002a5c;
}

.dog-planet-btn-primary:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.dog-planet-btn-secondary {
    background: #f0f2f5;
    color: var(--text);
}

.dog-planet-btn-secondary:hover {
    background: #e4e8ec;
}

@media (max-width: 480px) {
    .dog-planet-modal {
        padding: 0;
        align-items: flex-end;
    }

    .dog-planet-modal-dialog {
        max-width: none;
        max-height: 92vh;
        max-height: 92dvh;
        border-radius: 16px 16px 0 0;
        padding: 20px 16px 24px;
    }

    .dog-planet-modal-actions {
        flex-direction: column-reverse;
    }

    .dog-planet-modal-actions .dog-planet-btn {
        width: 100%;
    }
}

.product-branch-note {
    font-size: 13px;
    color: #666;
    margin: 0;
}

.product-branch-note a {
    color: var(--primary);
    text-decoration: none;
    font-weight: 600;
}

.product-detail-sections {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 48px;
}

.product-detail-block {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 16px;
    padding: 28px;
}

.product-detail-heading {
    font-size: 20px;
    color: var(--primary);
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid rgba(0, 60, 136, 0.1);
}

.product-detail-content {
    font-size: 15px;
    line-height: 1.8;
    color: #444;
}

.product-attributes-table {
    width: 100%;
    border-collapse: collapse;
}

.product-attributes-table th,
.product-attributes-table td {
    padding: 12px 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    text-align: left;
}

.product-attributes-table th {
    width: 35%;
    font-weight: 600;
    color: var(--primary);
    background: rgba(0, 60, 136, 0.03);
}

.dog-planet-rtl .product-attributes-table th,
.dog-planet-rtl .product-attributes-table td {
    text-align: right;
}

.product-related-section {
    margin-top: 16px;
}

.product-related-section > h2 {
    font-size: 22px;
    color: var(--primary);
    margin-bottom: 24px;
}

.product-related-section ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.product-related-section ul.products::before,
.product-related-section ul.products::after {
    display: none;
}

@media (max-width: 1024px) {
    .product-top-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .product-top-grid.product-gallery-pos-right .product-gallery-column,
    .product-top-grid.product-gallery-pos-right .product-summary-column {
        order: unset;
    }

    .product-gallery-column {
        order: 1;
    }

    .product-summary-column {
        order: 2;
    }

    .product-gallery-card,
    .product-summary-card {
        padding: 16px;
    }

    .product-related-section ul.products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .single-product-inner {
        margin-top: 16px;
    }

    .product-top-grid {
        gap: 16px;
        margin-bottom: 28px;
    }
}

@media (max-width: 600px) {
    .product-summary-card .product_title {
        font-size: 22px;
    }

    .product-contact-bar {
        grid-template-columns: 1fr;
    }

    .product-related-section ul.products {
        grid-template-columns: 1fr;
    }

    .product-cart-block form.cart {
        flex-direction: column;
        align-items: stretch;
    }

    .product-cart-block .single_add_to_cart_button {
        width: 100%;
    }
}

.dog-planet-rtl .product-sale-ribbon {
    left: auto;
    right: 16px;
}

/* Cart count badge (fallback) */
.header-cart .cart-count {
    margin-right: 0;
}

/* Page content */
.page-content,
.entry-content {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}

.page-content h1,
.entry-content h1 {
    color: var(--primary);
}

/* Header AJAX search suggestions */
.header-search-suggestions {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    min-width: 280px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
    z-index: 200;
    overflow: hidden;
}

.search-suggestion-list {
    list-style: none;
    margin: 0;
    padding: 8px 0;
    max-height: 360px;
    overflow-y: auto;
}

.search-suggestion-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    text-decoration: none;
    color: var(--text);
    transition: background 0.2s;
}

.search-suggestion-item:hover {
    background: rgba(0, 0, 0, 0.04);
}

.search-suggestion-thumb {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    overflow: hidden;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-suggestion-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.search-suggestion-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.search-suggestion-title {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
}

.search-suggestion-price {
    font-size: 13px;
    color: var(--primary);
    font-weight: 600;
}

.search-suggestion-all {
    display: block;
    padding: 12px 14px;
    text-align: center;
    font-weight: 600;
    font-size: 14px;
    color: var(--primary);
    text-decoration: none;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    background: rgba(0, 0, 0, 0.02);
}

.search-suggestion-all:hover {
    background: rgba(0, 0, 0, 0.04);
}

.search-suggestion-empty,
.search-suggestion-loading {
    padding: 16px 14px;
    margin: 0;
    font-size: 14px;
    color: #666;
}

/* Catalog page */
.catalog-page {
    padding-bottom: 40px;
    max-width: 100%;
    overflow-x: clip;
}

.catalog-header {
    margin-top: 32px;
    margin-bottom: 8px;
}

.catalog-header .section-title {
    margin-bottom: 8px;
}

.catalog-search-label {
    font-size: 16px;
    color: #555;
    margin: 0 0 4px;
}

.catalog-count {
    font-size: 14px;
    color: #777;
    margin: 0;
}

.catalog-layout {
    display: grid;
    gap: 24px;
    align-items: start;
    margin-top: 24px;
}

.catalog-main {
    min-width: 0;
    width: 100%;
}

@media (min-width: 901px) {
    .catalog-layout {
        grid-template-columns: 280px minmax(0, 1fr);
        gap: 32px;
    }

    .catalog-page .catalog-products-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.catalog-filters-toggle {
    display: none;
    margin-bottom: 16px;
    gap: 8px;
    align-items: center;
}

.catalog-sidebar {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 16px;
    padding: 20px;
    position: sticky;
    top: 100px;
}

.catalog-filter-form .filter-group {
    margin-bottom: 20px;
}

.catalog-filter-form .filter-title {
    display: block;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 10px;
    color: var(--primary);
}

.catalog-filter-input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 8px;
    font-size: 14px;
    box-sizing: border-box;
}

.filter-category-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.filter-category-list li {
    margin-bottom: 6px;
}

.filter-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    cursor: pointer;
    padding: 6px 0;
}

.filter-checkbox input {
    width: 18px;
    height: 18px;
    accent-color: var(--primary);
}

.filter-count {
    margin-inline-start: auto;
    font-size: 12px;
    color: #888;
    background: #f0f0f0;
    padding: 2px 8px;
    border-radius: 999px;
}

.filter-price-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.filter-price-row input {
    flex: 1;
    min-width: 0;
}

.filter-price-sep {
    color: #999;
}

.filter-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 8px;
}

.filter-actions .btn {
    width: 100%;
    text-align: center;
}

.catalog-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.catalog-sort-label {
    font-size: 14px;
    font-weight: 500;
    color: #555;
}

.catalog-orderby {
    padding: 8px 12px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 8px;
    font-size: 14px;
    background: #fff;
    min-width: 180px;
}

.catalog-results.is-loading {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity 0.2s;
}

.catalog-no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 48px 20px;
    font-size: 16px;
    color: #666;
}

.catalog-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 36px;
    padding: 16px 20px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: 0 6px 24px rgba(0, 60, 136, 0.08);
}

.catalog-pagination-pages {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
}

.catalog-page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fff;
    color: var(--text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.catalog-page-link:hover {
    border-color: var(--primary-light);
    color: var(--primary);
    transform: translateY(-1px);
}

.catalog-page-link:focus-visible {
    outline: 2px solid var(--primary-light);
    outline-offset: 2px;
}

.catalog-page-link.is-active {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
    box-shadow: 0 4px 14px rgba(0, 60, 136, 0.25);
}

.catalog-page-link.is-active:hover {
    color: #fff;
    border-color: var(--primary);
    transform: none;
}

.catalog-page-nav {
    min-width: auto;
    padding: 0 14px;
    font-weight: 700;
}

.catalog-page-nav-icon {
    font-size: 18px;
    line-height: 1;
}

.catalog-page-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 42px;
    color: #999;
    font-size: 16px;
    font-weight: 700;
    user-select: none;
}

@media (max-width: 900px) {
    .catalog-page .section-container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .catalog-header {
        margin-top: 20px;
    }

    .catalog-header .section-title {
        font-size: clamp(22px, 5vw, 28px);
    }

    .catalog-quick-nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
        scrollbar-width: thin;
    }

    .catalog-quick-link {
        flex-shrink: 0;
    }

    .catalog-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        margin-top: 16px;
    }

    .catalog-layout > .catalog-filters-toggle {
        grid-column: 1;
        grid-row: 1;
        width: 100%;
        justify-content: center;
        margin-bottom: 0;
    }

    .catalog-layout > .catalog-sidebar {
        grid-column: 1;
        grid-row: 1;
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: min(320px, 92vw);
        height: 100dvh;
        max-height: 100dvh;
        z-index: 300;
        border-radius: 0;
        transform: translateX(-110%);
        transition: transform 0.3s ease;
        overflow-y: auto;
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15);
        background: #fff;
        border: 1px solid rgba(0, 0, 0, 0.08);
        padding: 20px;
        -webkit-overflow-scrolling: touch;
    }

    .catalog-layout > .catalog-main {
        grid-column: 1;
        grid-row: 2;
        min-width: 0;
    }

    .catalog-layout.catalog-sidebar-pos-right {
        grid-template-columns: minmax(0, 1fr);
    }

    .catalog-layout.catalog-sidebar-pos-right > .catalog-sidebar,
    .catalog-layout.catalog-sidebar-pos-right > .catalog-main {
        grid-column: 1;
    }

    .catalog-layout.catalog-sidebar-pos-right > .catalog-main {
        grid-row: 2;
    }

    .catalog-filters-toggle {
        display: inline-flex;
    }

    .catalog-sidebar.is-open {
        transform: translateX(0);
    }

    .dog-planet-rtl .catalog-layout > .catalog-sidebar {
        left: auto;
        right: 0;
        transform: translateX(110%);
        box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
    }

    .dog-planet-rtl .catalog-sidebar.is-open {
        transform: translateX(0);
    }

    .catalog-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .catalog-toolbar-right {
        width: 100%;
        justify-content: space-between;
    }

    .catalog-orderby {
        flex: 1;
        min-width: 0;
        max-width: none;
    }

    .catalog-products-grid {
        gap: 12px;
    }

    .catalog-filters-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.45);
        z-index: 250;
    }

    .catalog-filters-backdrop[hidden] {
        display: none;
    }

    body.catalog-filters-open {
        overflow: hidden;
    }

    .woocommerce-page .section-container,
    .woocommerce .section-container {
        margin-top: 24px;
        margin-bottom: 24px;
        padding-left: 16px;
        padding-right: 16px;
    }
}

.catalog-filters-backdrop {
    display: none;
}

ins, a.wc-block-grid__product-link{
    text-decoration: none;
}

/* Catalog enhancements */
.catalog-term-description {
    font-size: 15px;
    color: #555;
    line-height: 1.6;
    margin: 8px 0 4px;
}

.catalog-quick-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.catalog-quick-link {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: #fff;
    color: var(--text);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.2s;
}

.catalog-quick-link:hover,
.catalog-quick-link.is-active {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.catalog-sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.catalog-sidebar-title {
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    color: var(--primary);
}

.catalog-sidebar-close {
    display: none;
    font-size: 28px;
    line-height: 1;
    color: #666;
}

.catalog-toolbar {
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.catalog-toolbar-left {
    flex: 1;
    min-width: 0;
}

.catalog-toolbar-right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.filter-section {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    padding-bottom: 4px;
    margin-bottom: 8px;
}

.filter-section-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 12px 0;
    border: none;
    background: none;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    color: var(--primary);
    cursor: pointer;
    text-align: inherit;
}

.filter-section-icon {
    width: 20px;
    height: 20px;
    position: relative;
    flex-shrink: 0;
}

.filter-section-icon::before,
.filter-section-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 2px;
    background: currentColor;
    transform: translate(-50%, -50%);
    transition: transform 0.2s;
}

.filter-section-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.filter-section.is-open .filter-section-icon::after {
    transform: translate(-50%, -50%) rotate(0deg);
    opacity: 0;
}

.filter-section-body {
    padding-bottom: 12px;
}

.filter-checkbox-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.filter-category-tree {
    list-style: none;
    margin: 0;
    padding: 0;
}

.filter-category-tree.depth-0 {
    padding: 0;
}

.filter-category-item {
    position: relative;
    margin-bottom: 2px;
}

.filter-category-item.has-children {
    padding-left: 28px;
}

.filter-category-toggle {
    position: absolute;
    left: 0;
    top: 6px;
    width: 24px;
    height: 24px;
    border: none;
    background: rgba(0, 0, 0, 0.04);
    border-radius: 6px;
    cursor: pointer;
    padding: 0;
}

.filter-category-toggle .toggle-icon {
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    border-right: 2px solid #666;
    border-bottom: 2px solid #666;
    transform: rotate(-45deg);
    transition: transform 0.2s;
}

.filter-category-item.is-open > .filter-category-toggle .toggle-icon {
    transform: rotate(45deg);
}

.filter-category-children {
    display: none;
    padding-top: 4px;
}

.filter-category-item.is-open > .filter-category-children {
    display: block;
}

.filter-category-label {
    padding-left: 0;
}

.filter-tag-cloud {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.filter-tag-chip {
    display: inline-flex;
    cursor: pointer;
}

.filter-tag-chip input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.filter-tag-chip span {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    font-size: 13px;
    transition: all 0.2s;
}

.filter-tag-chip input:checked + span {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.filter-price-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.filter-price-preset {
    padding: 6px 12px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 999px;
    background: #fff;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.filter-price-preset:hover,
.filter-price-preset.is-active {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.catalog-active-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.catalog-active-label {
    font-size: 13px;
    font-weight: 600;
    color: #666;
}

.catalog-active-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.catalog-active-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid rgba(0, 60, 136, 0.2);
    border-radius: 999px;
    background: rgba(0, 60, 136, 0.06);
    color: var(--primary);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.catalog-active-chip:hover {
    background: rgba(0, 60, 136, 0.12);
}

.chip-remove {
    font-size: 16px;
    line-height: 1;
    opacity: 0.7;
}

.woocommerce-archive-hooks {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.woocommerce-archive-hooks .woocommerce-breadcrumb {
    margin-top: 24px;
}

.dog-planet-rtl .filter-category-item.has-children {
    padding-left: 0;
    padding-right: 28px;
}

.dog-planet-rtl .filter-category-toggle {
    left: auto;
    right: 0;
}

@media (max-width: 900px) {
    .catalog-sidebar-close {
        display: flex;
    }

    .catalog-sidebar-head {
        padding-top: env(safe-area-inset-top, 0);
    }
}

@media (max-width: 768px) {
    .catalog-page .product-img-container {
        height: 160px;
    }

    .catalog-page .product-card {
        padding: 12px;
    }

    .catalog-page .product-title {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .catalog-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .catalog-page .product-img-container {
        height: 130px;
    }

    .catalog-page .product-card {
        padding: 10px;
    }

    .catalog-page .product-title {
        font-size: 13px;
        line-height: 1.35;
    }

    .catalog-page .product-card .button {
        font-size: 13px;
        padding: 8px 10px;
    }

    .catalog-pagination {
        gap: 8px;
        padding: 12px 14px;
        margin-top: 28px;
    }

    .catalog-pagination-pages {
        gap: 4px;
    }

    .catalog-page-link {
        min-width: 38px;
        height: 38px;
        padding: 0 10px;
        font-size: 13px;
    }

    .catalog-page-nav-text {
        display: none;
    }

    .catalog-page-nav {
        padding: 0 12px;
    }
}

/* Dog Planet Club — login / register */
.club-account-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 24px 20px 56px;
}

.club-notices-wrap {
    margin-top: 16px;
    margin-bottom: 0;
}

.club-account {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px 40px rgba(0, 60, 136, 0.08);
    border: 1px solid var(--border);
    overflow: hidden;
}

.club-account-intro {
    text-align: center;
    padding: 40px 28px 24px;
    background: linear-gradient(180deg, rgba(0, 60, 136, 0.06) 0%, #fff 100%);
}

.club-account-title {
    margin: 0 0 12px;
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 800;
    color: var(--primary);
    line-height: 1.2;
}

.club-account-lead {
    margin: 0;
    font-size: 17px;
    color: #555;
    max-width: 640px;
    margin-inline: auto;
    line-height: 1.6;
}

.club-account-tabs {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 0 20px 28px;
    border-bottom: 1px solid var(--border);
    flex-wrap: wrap;
}

.club-account-tab {
    display: inline-flex;
    align-items: center;
    padding: 10px 22px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 15px;
    color: var(--primary);
    background: var(--gray);
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.club-account-tab:hover,
.club-account-tab.is-active {
    background: var(--primary);
    color: #fff;
}

.club-account-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 0;
}

.club-panel {
    padding: 32px 36px 40px;
}

.club-panel-register {
    border-right: 1px solid var(--border);
}

/* Login column on the left (registration on the right). */
.club-login-pos-left .club-account-layout {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
}

.club-login-pos-left .club-panel-login {
    order: -1;
    border-right: 1px solid var(--border);
}

.club-login-pos-left .club-panel-register {
    border-right: none;
}

/* Login column on the right (default — registration on the left). */
.club-login-pos-right .club-panel-register {
    border-right: 1px solid var(--border);
}

.club-login-pos-right .club-panel-login {
    border-right: none;
}

.club-panel-head {
    margin-bottom: 24px;
}

.club-panel-title {
    margin: 0 0 8px;
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
}

.club-panel-note {
    margin: 0;
    font-size: 15px;
    color: #666;
    line-height: 1.55;
    padding: 12px 14px;
    background: rgba(255, 183, 3, 0.12);
    border-radius: 12px;
    border: 1px solid rgba(255, 183, 3, 0.35);
}

.club-form-section {
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--gray);
}

.club-form-section:last-of-type {
    border-bottom: none;
}

.club-form-section-title {
    margin: 0 0 16px;
    font-size: 17px;
    font-weight: 700;
    color: var(--primary);
}

.club-form-grid {
    display: grid;
    gap: 0 16px;
}

.club-form-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.club-form .form-row {
    margin-bottom: 16px;
}

.club-form label {
    display: block;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 6px;
    color: #444;
}

.club-form .input-text,
.club-form select.input-text {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 10px;
    font-size: 15px;
    font-family: inherit;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.club-form .input-text:focus,
.club-form select.input-text:focus {
    outline: none;
    border-color: var(--primary-light);
    box-shadow: 0 0 0 3px rgba(0, 60, 136, 0.12);
}

.club-form-checkboxes {
    margin-top: 8px;
}

.club-checkbox-row {
    margin-bottom: 12px;
}

.club-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.5;
    color: #555;
    cursor: pointer;
}

.club-checkbox-label input {
    margin-top: 3px;
    flex-shrink: 0;
    accent-color: var(--primary);
}

.club-checkbox-label a {
    color: var(--primary);
    font-weight: 600;
}

.club-form-submit {
    margin-top: 8px;
    margin-bottom: 0;
}

.club-form-submit .btn {
    width: 100%;
    padding: 14px 20px;
    font-size: 16px;
    font-weight: 700;
    border: none;
    border-radius: 12px;
    cursor: pointer;
}

.btn-primary {
    background: var(--primary);
    color: #fff;
}

.btn-primary:hover {
    background: var(--primary-light);
    color: #fff;
}

.club-panel-login .lost_password {
    text-align: center;
    margin-top: 12px;
    font-size: 14px;
}

.club-panel-login .lost_password a {
    color: var(--primary);
    font-weight: 600;
}

.club-account-page .woocommerce-notices-wrapper {
    margin-bottom: 16px;
}

.dog-planet-rtl .club-login-pos-right .club-panel-register {
    border-right: none;
    border-left: 1px solid var(--border);
}

.dog-planet-rtl .club-login-pos-left .club-panel-login {
    border-right: none;
    border-left: 1px solid var(--border);
}

.dog-planet-rtl .club-login-pos-left .club-panel-register {
    border-left: none;
}

@media (max-width: 960px) {
    .club-account-layout {
        grid-template-columns: 1fr;
    }

    .club-panel-register {
        border-right: none;
        border-bottom: 1px solid var(--border);
    }

    .club-login-pos-left .club-panel-login {
        order: unset;
        border-right: none;
    }

    .dog-planet-rtl .club-login-pos-right .club-panel-register,
    .dog-planet-rtl .club-login-pos-left .club-panel-login {
        border-left: none;
    }

    .club-panel {
        padding: 28px 22px 32px;
    }

    .club-form-grid--2 {
        grid-template-columns: 1fr;
    }

    .hero-content {
        padding: 28px 22px;
    }
}

/* My Account dashboard */
.my-account-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 24px 20px 56px;
}

.my-account-dashboard {
    background: #fff;
    border-radius: 20px;
    border: 1px solid var(--border);
    box-shadow: 0 8px 40px rgba(0, 60, 136, 0.08);
    overflow: hidden;
}

.my-account-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 32px 32px 24px;
    background: linear-gradient(180deg, rgba(0, 60, 136, 0.06) 0%, #fff 100%);
    border-bottom: 1px solid var(--border);
}

.my-account-title {
    margin: 0 0 6px;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    color: var(--primary);
}

.my-account-greeting {
    margin: 0;
    color: #555;
    font-size: 16px;
}

.my-account-badge {
    display: inline-block;
    margin-top: 10px;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(255, 183, 3, 0.2);
    color: #7a5b00;
    font-size: 13px;
    font-weight: 700;
}

.my-account-logout {
    color: var(--primary);
    font-weight: 700;
    text-decoration: none;
    padding: 10px 16px;
    border-radius: 999px;
    background: var(--gray);
    white-space: nowrap;
}

.my-account-logout:hover {
    background: var(--primary);
    color: #fff;
}

.my-account-layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 0;
    min-height: 420px;
}

.my-account-nav {
    padding: 24px 16px;
    border-right: 1px solid var(--border);
    background: #fafbfc;
}

.my-account-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.my-account-nav-item {
    margin: 0;
}

.my-account-nav-link {
    display: block;
    padding: 12px 14px;
    border-radius: 12px;
    color: #444;
    text-decoration: none;
    font-weight: 600;
    transition: background 0.2s ease, color 0.2s ease;
}

.my-account-nav-link:hover,
.my-account-nav-link.is-active {
    background: var(--primary);
    color: #fff;
}

.my-account-content {
    padding: 28px 32px 36px;
    min-width: 0;
}

.my-account-panel {
    background: #fff;
}

.my-account-panel-head {
    margin-bottom: 24px;
}

.my-account-panel-title {
    margin: 0 0 8px;
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
}

.my-account-panel-desc {
    margin: 0;
    color: #666;
    line-height: 1.55;
}

.my-account-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin-bottom: 24px;
    padding: 16px;
    border-radius: 14px;
    background: var(--gray);
}

.my-account-summary-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: #777;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.my-account-summary-value {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: var(--primary);
}

.my-account-quick-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
}

.my-account-quick-card {
    display: block;
    padding: 18px 20px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: #fff;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.my-account-quick-card strong {
    display: block;
    color: var(--primary);
    font-size: 17px;
    margin-bottom: 6px;
}

.my-account-quick-card span {
    display: block;
    color: #666;
    font-size: 14px;
    line-height: 1.45;
}

.my-account-quick-card:hover {
    border-color: var(--primary-light);
    box-shadow: 0 8px 24px rgba(0, 60, 136, 0.1);
    transform: translateY(-2px);
}

.my-account-addresses {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
}

.my-account-address-card {
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fafbfc;
}

.my-account-address-card h3 {
    margin: 0 0 8px;
    font-size: 17px;
    color: var(--primary);
}

.my-account-address-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.my-account-address-card-head h3 {
    margin: 0;
}

.my-account-address-edit {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(0, 60, 136, 0.08);
    color: var(--primary);
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.my-account-address-edit:hover {
    background: var(--primary);
    color: #fff;
    transform: translateY(-1px);
}

.my-account-address-card address {
    font-style: normal;
    color: #555;
    line-height: 1.65;
    font-size: 15px;
}

.my-account-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 18px;
    color: var(--primary);
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.my-account-back-link:hover {
    color: var(--accent);
}

.my-account-edit-address-form .woocommerce-address-fields__field-wrapper {
    margin-bottom: 8px;
}

.dog-planet-my-account .my-account-edit-address-form .form-row-wide {
    grid-column: 1 / -1;
}

.dog-planet-my-account .my-account-edit-address-form .form-row-first,
.dog-planet-my-account .my-account-edit-address-form .form-row-last {
    float: none;
    width: auto;
    clear: none;
}

.dog-planet-my-account .my-account-edit-address-form .woocommerce-input-wrapper {
    display: block;
}

.dog-planet-my-account .my-account-edit-address-form .woocommerce-input-wrapper .input-text,
.dog-planet-my-account .my-account-edit-address-form .woocommerce-input-wrapper select {
    width: 100%;
}

.dog-planet-my-account .my-account-edit-address-form .required {
    color: #c0392b;
    font-weight: 700;
}

.dog-planet-my-account .woocommerce-EditAddressForm .woocommerce-error,
.dog-planet-my-account .woocommerce-EditAddressForm .woocommerce-message {
    margin-bottom: 20px;
    padding: 12px 16px;
    border-radius: 12px;
    font-size: 14px;
}

.dog-planet-my-account .woocommerce-orders-table,
.dog-planet-my-account .shop_table {
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.dog-planet-my-account .woocommerce-orders-table th,
.dog-planet-my-account .woocommerce-orders-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
}

.dog-planet-my-account .woocommerce-orders-table thead th {
    background: var(--gray);
    color: var(--primary);
    font-weight: 700;
}

.dog-planet-my-account .woocommerce-orders-table .button,
.dog-planet-my-account .woocommerce-Button.button {
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 8px 14px;
    font-weight: 600;
}

.dog-planet-my-account .woocommerce-pagination {
    margin-top: 20px;
}

.dog-planet-rtl .my-account-nav {
    border-right: none;
    border-left: 1px solid var(--border);
}

@media (max-width: 900px) {
    .my-account-header {
        flex-direction: column;
        padding: 24px 20px 20px;
    }

    .my-account-layout {
        grid-template-columns: 1fr;
    }

    .my-account-nav {
        border-right: none;
        border-bottom: 1px solid var(--border);
        padding: 12px 16px;
    }

    .my-account-nav-list {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .my-account-nav-link {
        padding: 10px 14px;
        font-size: 14px;
    }

    .my-account-content {
        padding: 22px 20px 28px;
    }

    .dog-planet-rtl .my-account-nav {
        border-left: none;
    }

    .my-account-address-card-head {
        flex-wrap: wrap;
    }
}

/* ==========================================================================
   WooCommerce Cart & Checkout (theme-aligned)
   ========================================================================== */

.woocommerce-cart .woocommerce-shop-wrap,
.woocommerce-checkout .woocommerce-shop-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 24px 20px 56px;
}

.woocommerce-cart .woocommerce-breadcrumb,
.woocommerce-checkout .woocommerce-breadcrumb {
    margin-bottom: 16px;
    font-size: 13px;
    color: #666;
}

.woocommerce-cart .woocommerce-breadcrumb a,
.woocommerce-checkout .woocommerce-breadcrumb a {
    color: var(--primary);
    text-decoration: none;
    font-weight: 600;
}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    margin-top: 0;
}

.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-cart .woocommerce-products-header__title,
.woocommerce-checkout .woocommerce-products-header__title {
    font-size: clamp(26px, 4vw, 34px);
    font-weight: 800;
    color: var(--primary);
    margin: 0 0 8px;
    line-height: 1.25;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--border);
}

.woocommerce-cart .woocommerce::after,
.woocommerce-checkout .woocommerce::after {
    content: "";
    display: table;
    clear: both;
}

/* Notices */
.woocommerce-shop-wrap .woocommerce-message,
.woocommerce-shop-wrap .woocommerce-info,
.woocommerce-shop-wrap .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
    border-radius: 12px;
    padding: 14px 18px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    font-size: 14px;
    line-height: 1.5;
    list-style: none;
}

.woocommerce-shop-wrap .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message {
    background: rgba(0, 60, 136, 0.08);
    border-color: rgba(0, 60, 136, 0.15);
    color: var(--primary);
}

.woocommerce-shop-wrap .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-info {
    background: #f0f7ff;
    border-color: rgba(0, 60, 136, 0.12);
    color: #444;
}

.woocommerce-shop-wrap .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-error {
    background: #fff5f5;
    border-color: rgba(230, 57, 70, 0.25);
    color: var(--sale);
}

.woocommerce-shop-wrap .woocommerce-message a,
.woocommerce-shop-wrap .woocommerce-info a {
    color: var(--primary);
    font-weight: 600;
}

/* Shared form fields */
.woocommerce-cart .woocommerce form .form-row label,
.woocommerce-checkout .woocommerce form .form-row label {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 6px;
}

.woocommerce-cart .woocommerce form .form-row .required,
.woocommerce-checkout .woocommerce form .form-row .required {
    color: var(--sale);
}

.woocommerce-cart .woocommerce form .form-row input.input-text,
.woocommerce-cart .woocommerce form .form-row select,
.woocommerce-cart .woocommerce form .form-row textarea,
.woocommerce-checkout .woocommerce form .form-row input.input-text,
.woocommerce-checkout .woocommerce form .form-row select,
.woocommerce-checkout .woocommerce form .form-row textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 10px;
    font-size: 15px;
    font-family: inherit;
    background: #fff;
    color: var(--text);
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-cart .woocommerce form .form-row input.input-text:focus,
.woocommerce-cart .woocommerce form .form-row select:focus,
.woocommerce-cart .woocommerce form .form-row textarea:focus,
.woocommerce-checkout .woocommerce form .form-row input.input-text:focus,
.woocommerce-checkout .woocommerce form .form-row select:focus,
.woocommerce-checkout .woocommerce form .form-row textarea:focus {
    outline: none;
    border-color: var(--primary-light);
    box-shadow: 0 0 0 3px rgba(0, 60, 136, 0.12);
}

.woocommerce-cart .woocommerce form .form-row,
.woocommerce-checkout .woocommerce form .form-row {
    margin-bottom: 16px;
}

/* WooCommerce buttons */
.woocommerce-cart .button,
.woocommerce-checkout .button,
.woocommerce-cart a.button,
.woocommerce-checkout a.button,
.woocommerce-cart button.button,
.woocommerce-checkout button.button,
.woocommerce-cart input.button,
.woocommerce-checkout input.button {
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 700;
    font-family: inherit;
    line-height: 1.4;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-cart .button:hover,
.woocommerce-checkout .button:hover,
.woocommerce-cart a.button:hover,
.woocommerce-checkout a.button:hover,
.woocommerce-cart button.button:hover,
.woocommerce-checkout button.button:hover,
.woocommerce-cart input.button:hover,
.woocommerce-checkout input.button:hover {
    background: var(--primary-light);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0, 60, 136, 0.18);
}

.woocommerce-cart .actions > .button,
.woocommerce-cart .actions input.button {
    background: transparent;
    color: var(--primary);
    border: 2px solid var(--primary);
    box-shadow: none;
}

.woocommerce-cart .actions > .button:hover,
.woocommerce-cart .actions input.button:hover {
    background: var(--primary);
    color: #fff;
}

.woocommerce-cart .coupon .button {
    background: var(--primary);
    color: #fff;
    border: none;
}

.woocommerce-cart .button.alt,
.woocommerce-checkout .button.alt,
.woocommerce-cart a.button.alt,
.woocommerce-checkout a.button.alt,
.woocommerce-checkout #place_order {
    background: var(--accent);
    color: #111;
}

.woocommerce-cart .button.alt:hover,
.woocommerce-checkout .button.alt:hover,
.woocommerce-checkout #place_order:hover {
    background: #e0a100;
    color: #111;
}

/* ----- Cart layout ----- */
.woocommerce-cart .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    gap: 24px;
    align-items: start;
    margin-top: 24px;
}

.woocommerce-cart .woocommerce-cart-form {
    grid-column: 1;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 0;
    box-shadow: 0 8px 40px rgba(0, 60, 136, 0.08);
    overflow: hidden;
}

.woocommerce-cart .woocommerce-cart-form::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(90deg, var(--primary) 0%, var(--primary-light) 55%, var(--accent) 100%);
}

.woocommerce-cart .woocommerce-cart-form .shop_table.cart {
    padding: 20px 24px 0;
}

.woocommerce-cart .cart-collaterals {
    grid-column: 2;
    width: 100%;
}

.woocommerce-cart .cart_totals {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 0;
    box-shadow: 0 8px 40px rgba(0, 60, 136, 0.1);
    overflow: hidden;
}

.woocommerce-cart .cart_totals h2 {
    margin: 0;
    padding: 22px 24px 18px;
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
    background: linear-gradient(180deg, rgba(0, 60, 136, 0.07) 0%, #fff 100%);
    border-bottom: 1px solid var(--border);
}

.woocommerce-cart .cart_totals table.shop_table {
    margin: 0;
    width: 100%;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
    margin-top: 20px;
    padding: 0 24px 24px;
}

.woocommerce-cart table.shop_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: none;
    margin: 0;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table {
    border: none;
}

.woocommerce-cart table.shop_table th {
    padding: 12px 10px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--primary);
    background: var(--gray);
    border-bottom: 1px solid var(--border);
}

.woocommerce-cart table.shop_table th:first-child {
    border-radius: 10px 0 0 0;
}

.woocommerce-cart table.shop_table th:last-child {
    border-radius: 0 10px 0 0;
}

.dog-planet-rtl .woocommerce-cart table.shop_table th:first-child {
    border-radius: 0 10px 0 0;
}

.dog-planet-rtl .woocommerce-cart table.shop_table th:last-child {
    border-radius: 10px 0 0 0;
}

.woocommerce-cart table.shop_table tbody tr.cart_item {
    transition: background 0.2s ease;
}

.woocommerce-cart table.shop_table tbody tr.cart_item:hover {
    background: rgba(0, 60, 136, 0.03);
}

.woocommerce-cart table.shop_table td {
    padding: 18px 10px;
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}

.woocommerce-cart .product-thumbnail img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid var(--border);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.woocommerce-cart .product-name dl.variation {
    margin: 8px 0 0;
    font-size: 12px;
    color: #666;
}

.woocommerce-cart .product-name dl.variation dt,
.woocommerce-cart .product-name dl.variation dd {
    display: inline;
    margin: 0;
}

.woocommerce-cart .product-name dl.variation dd p {
    margin: 0;
}

.woocommerce-cart .product-name a {
    color: var(--text);
    font-weight: 700;
    text-decoration: none;
    line-height: 1.4;
}

.woocommerce-cart .product-name a:hover {
    color: var(--primary);
}

.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal {
    font-weight: 700;
    color: var(--primary);
}

.woocommerce-cart .product-remove a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff5f5;
    color: var(--sale);
    font-size: 20px;
    line-height: 1;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.woocommerce-cart .product-remove a:hover {
    background: var(--sale);
    color: #fff;
}

.woocommerce-cart .quantity .qty {
    width: 64px;
    padding: 8px 10px;
    text-align: center;
    border: 1px solid var(--border);
    border-radius: 8px;
    font-weight: 600;
}

.woocommerce-cart .actions {
    padding: 20px 24px 24px !important;
    border: none !important;
    background: #fafbfc;
    border-top: 1px solid var(--border);
}

.woocommerce-cart .actions .coupon {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 14px;
    padding: 16px;
    background: #fff;
    border: 1px dashed var(--border);
    border-radius: 12px;
}

.woocommerce-cart .actions .coupon label {
    flex-shrink: 0;
    font-weight: 600;
    font-size: 14px;
}

.woocommerce-cart .actions .coupon .input-text {
    flex: 1;
    min-width: 140px;
    padding: 10px 14px;
    border: 1px solid var(--border);
    border-radius: 10px;
}

.woocommerce-cart .actions .button {
    margin-top: 0;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
    padding: 10px 24px;
    border: none;
    background: transparent;
    text-transform: none;
    letter-spacing: normal;
    font-size: 15px;
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
    padding: 14px 16px;
    border-top: none;
    background: rgba(255, 183, 3, 0.18);
    border-radius: 12px;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block;
    width: 100%;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 800;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(255, 183, 3, 0.35);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    box-shadow: 0 10px 28px rgba(255, 183, 3, 0.45);
    transform: translateY(-2px);
}

.woocommerce-cart .cross-sells {
    grid-column: 1 / -1;
    margin-top: 8px;
    padding: 28px 24px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 20px;
    box-shadow: 0 8px 40px rgba(0, 60, 136, 0.06);
}

.woocommerce-cart .cross-sells > h2 {
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
    margin: 0 0 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--border);
}

.woocommerce-cart .cross-sells ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-cart .return-to-shop .button {
    margin-top: 20px;
    padding: 14px 28px;
    font-size: 15px;
}

/* ----- Checkout layout ----- */
.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
    gap: 24px;
    align-items: start;
    margin-top: 24px;
}

.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin-bottom: 16px;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 12px;
    font-size: 14px;
    box-shadow: 0 2px 12px rgba(0, 60, 136, 0.05);
}

.woocommerce-checkout .woocommerce-form-login-toggle a,
.woocommerce-checkout .woocommerce-form-coupon-toggle a {
    color: var(--primary);
    font-weight: 700;
    text-decoration: none;
}

.woocommerce-checkout .woocommerce-form-login-toggle a:hover,
.woocommerce-checkout .woocommerce-form-coupon-toggle a:hover {
    color: var(--primary-light);
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 24px 28px;
    box-shadow: 0 8px 40px rgba(0, 60, 136, 0.06);
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    margin: 0 0 20px;
    padding-bottom: 12px;
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
    border-bottom: 2px solid var(--border);
}

.woocommerce-checkout #order_review_heading {
    grid-column: 2;
    grid-row: 1;
    margin-bottom: 0;
    padding: 22px 28px 18px;
    background: linear-gradient(180deg, rgba(0, 60, 136, 0.07) 0%, #fff 100%);
    border: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    border-radius: 20px 20px 0 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
}

.woocommerce-checkout #order_review {
    grid-column: 2;
    grid-row: 2;
    background: #fff;
    border: 1px solid var(--border);
    border-top: none;
    border-radius: 0 0 20px 20px;
    padding: 0 28px 28px;
    box-shadow: 0 12px 40px rgba(0, 60, 136, 0.1);
    position: sticky;
    top: 96px;
}

.woocommerce-checkout #order_review .shop_table .order-total th,
.woocommerce-checkout #order_review .shop_table .order-total td {
    font-size: 20px;
    color: var(--primary);
    border-bottom: none;
    padding: 14px 16px;
    background: rgba(255, 183, 3, 0.18);
    border-radius: 12px;
}

.woocommerce-checkout #payment {
    background: #fafbfc;
    border-radius: 14px;
    padding: 18px;
    border: 1px solid var(--border);
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
    accent-color: var(--primary);
    margin-right: 8px;
}

.dog-planet-rtl .woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
    margin-right: 0;
    margin-left: 8px;
}

.woocommerce-checkout #payment ul.payment_methods li label {
    font-weight: 600;
    cursor: pointer;
}

.woocommerce-checkout #place_order {
    width: 100%;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 800;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(255, 183, 3, 0.35);
}

.woocommerce-checkout #place_order:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(255, 183, 3, 0.45);
}

.woocommerce-checkout #customer_details {
    grid-column: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    width: 100%;
    float: none;
}

.woocommerce-checkout .col2-set {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.woocommerce-checkout #order_review .shop_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 16px;
}

.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td {
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
    font-size: 14px;
}

.woocommerce-checkout #order_review .shop_table .product-name {
    font-weight: 600;
}

.woocommerce-checkout #order_review .shop_table tfoot th,
.woocommerce-checkout #order_review .shop_table tfoot td {
    font-weight: 700;
}

.woocommerce-checkout #payment ul.payment_methods {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    border-bottom: 1px solid var(--border);
}

.woocommerce-checkout #payment ul.payment_methods li {
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
    border-bottom: none;
}

.woocommerce-checkout #payment div.payment_box {
    background: #fff;
    border-radius: 8px;
    padding: 12px;
    margin-top: 8px;
    font-size: 13px;
    color: #555;
}

.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout .woocommerce-form-coupon {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
}

/* Empty cart */
.woocommerce-cart .cart-empty {
    text-align: center;
    padding: 56px 28px;
    margin-top: 24px;
    background: #fff;
    border: 1px dashed var(--border);
    border-radius: 20px;
    font-size: 17px;
    color: #666;
    box-shadow: 0 8px 40px rgba(0, 60, 136, 0.06);
}

/* Cart & Checkout responsive */
@media (max-width: 992px) {
    .woocommerce-cart .woocommerce {
        grid-template-columns: 1fr;
    }

    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals {
        grid-column: 1;
    }

    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr;
    }

    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        grid-column: 1;
        grid-row: auto;
    }

    .woocommerce-checkout #order_review_heading {
        border-radius: 20px 20px 0 0;
        margin-top: 8px;
    }

    .woocommerce-checkout #order_review {
        position: static;
        border-radius: 0 0 20px 20px;
    }
}

@media (max-width: 768px) {
    .woocommerce-cart .woocommerce-shop-wrap,
    .woocommerce-checkout .woocommerce-shop-wrap {
        padding: 20px 16px 48px;
    }

    .woocommerce-cart .woocommerce-cart-form .shop_table.cart {
        padding: 16px 18px 0;
    }

    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart_totals,
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout .woocommerce-additional-fields {
        padding: 18px;
    }

    .woocommerce-checkout #order_review_heading {
        padding: 18px 18px 14px;
    }

    .woocommerce-checkout #order_review {
        padding: 0 18px 18px;
    }

    .woocommerce-cart .actions {
        padding: 16px 18px 18px !important;
    }

    .woocommerce-cart .cart_totals h2 {
        padding: 18px;
    }

    .woocommerce-cart .cart_totals table.shop_table {
        padding: 12px 18px 0;
    }

    .woocommerce-cart .cart_totals .wc-proceed-to-checkout {
        padding: 0 18px 18px;
    }

    /* Cart table → cards */
    .woocommerce-cart-form .shop_table.cart thead {
        display: none;
    }

    .woocommerce-cart-form .shop_table.cart,
    .woocommerce-cart-form .shop_table.cart tbody,
    .woocommerce-cart-form .shop_table.cart tr,
    .woocommerce-cart-form .shop_table.cart td {
        display: block;
        width: 100%;
    }

    .woocommerce-cart-form .shop_table.cart tr.cart_item {
        position: relative;
        padding: 16px;
        margin-bottom: 12px;
        border: 1px solid var(--border);
        border-radius: 14px;
        background: #fafbfc;
    }

    .woocommerce-cart-form .shop_table.cart td {
        padding: 6px 0;
        border: none;
        text-align: right;
    }

    .dog-planet-rtl .woocommerce-cart-form .shop_table.cart td {
        text-align: left;
    }

    .woocommerce-cart-form .shop_table.cart td::before {
        content: attr(data-title) ": ";
        font-weight: 700;
        color: #666;
        float: left;
    }

    .dog-planet-rtl .woocommerce-cart-form .shop_table.cart td::before {
        float: right;
    }

    .woocommerce-cart-form .shop_table.cart td.product-remove {
        position: absolute;
        top: 12px;
        right: 12px;
        padding: 0;
    }

    .dog-planet-rtl .woocommerce-cart-form .shop_table.cart td.product-remove {
        right: auto;
        left: 12px;
    }

    .woocommerce-cart-form .shop_table.cart td.product-remove::before {
        display: none;
    }

    .woocommerce-cart-form .shop_table.cart td.product-thumbnail {
        text-align: center;
        padding-bottom: 12px;
    }

    .woocommerce-cart-form .shop_table.cart td.product-thumbnail::before {
        display: none;
    }

    .woocommerce-cart-form .shop_table.cart td.product-thumbnail img {
        width: 88px;
        height: 88px;
    }

    .woocommerce-cart-form .shop_table.cart td.product-name {
        text-align: center;
        font-size: 15px;
        padding-top: 4px;
    }

    .woocommerce-cart-form .shop_table.cart td.product-name::before {
        display: none;
    }

    .woocommerce-cart .actions .coupon {
        flex-direction: column;
        align-items: stretch;
    }

    .woocommerce-cart .actions .coupon .input-text {
        width: 100%;
    }

    .woocommerce-cart .actions .button,
    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
        width: 100%;
    }

    .woocommerce-cart-form .shop_table.cart tfoot,
    .woocommerce-cart-form .shop_table.cart tfoot tr,
    .woocommerce-cart-form .shop_table.cart tfoot td {
        display: block;
        width: 100%;
    }

    .woocommerce-cart-form .shop_table.cart tfoot td::before {
        display: none;
    }

    .woocommerce-cart-form .shop_table.cart tfoot td.actions {
        padding: 16px 0 0;
        border: none;
        background: transparent;
    }

    .woocommerce-checkout .col2-set .form-row-first,
    .woocommerce-checkout .col2-set .form-row-last {
        width: 100%;
        float: none;
    }
}

@media (max-width: 480px) {
    .woocommerce-cart .entry-title,
    .woocommerce-checkout .entry-title {
        font-size: 24px;
        margin-bottom: 16px;
    }

    .woocommerce-cart-form .shop_table.cart tr.cart_item {
        padding: 14px;
    }
}

/* Wishlist page */
.dog-planet-wishlist-page-body .site-main {
    background: var(--bg);
}

.dog-planet-wishlist-page {
    margin-top: 24px;
    margin-bottom: 48px;
}

.dog-planet-wishlist-header {
    margin-bottom: 24px;
}

.dog-planet-wishlist-header .section-title {
    margin-bottom: 8px;
}

.dog-planet-wishlist-count-label {
    margin: 0;
    font-size: 14px;
    color: #777;
}

.dog-planet-wishlist-form .wishlist_table {
    display: block !important;
    width: 100%;
    border: none;
    background: transparent;
}

.dog-planet-wishlist-items {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dog-planet-wishlist-item {
    position: relative;
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    padding: 20px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0, 60, 136, 0.06);
}

.dog-planet-wishlist-checkbox {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
}

.dog-planet-wishlist-remove {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(0, 0, 0, 0.08);
    color: #888;
    text-decoration: none;
    font-size: 22px;
    line-height: 1;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.dog-planet-wishlist-remove:hover {
    color: var(--sale);
    border-color: rgba(230, 57, 70, 0.25);
    background: rgba(230, 57, 70, 0.08);
}

.dog-planet-wishlist-item-media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 120px;
    padding: 8px;
    border-radius: 12px;
    background: #f8f9fa;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.dog-planet-wishlist-item-media a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.dog-planet-wishlist-item-media img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

.dog-planet-wishlist-item-body {
    min-width: 0;
    padding-right: 28px;
}

.dog-planet-wishlist-item-title {
    margin: 0 0 10px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--text);
}

.dog-planet-wishlist-item-title a {
    color: inherit;
    text-decoration: none;
}

.dog-planet-wishlist-item-title a:hover {
    color: var(--primary);
}

.dog-planet-wishlist-item-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin-bottom: 14px;
}

.dog-planet-wishlist-price {
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
}

.dog-planet-wishlist-price del {
    color: #999;
    font-weight: 500;
    font-size: 14px;
}

.dog-planet-wishlist-stock {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
}

.dog-planet-wishlist-stock--in {
    background: rgba(40, 167, 69, 0.12);
    color: #1e7e34;
}

.dog-planet-wishlist-stock--out {
    background: rgba(230, 57, 70, 0.1);
    color: var(--sale);
}

.dog-planet-wishlist-quantity {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dog-planet-wishlist-quantity-label {
    font-size: 13px;
    font-weight: 600;
    color: #666;
}

.dog-planet-wishlist-quantity input[type="number"] {
    width: 64px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    font-size: 14px;
}

.dog-planet-wishlist-dateadded {
    font-size: 13px;
    color: #888;
}

.dog-planet-wishlist-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.dog-planet-wishlist-actions .button,
.dog-planet-wishlist-actions a.add_to_cart_button,
.dog-planet-wishlist-actions .add_to_cart_button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    background: var(--primary) !important;
    color: #fff !important;
    border: none !important;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.dog-planet-wishlist-actions .button:hover,
.dog-planet-wishlist-actions a.add_to_cart_button:hover {
    background: var(--primary-light) !important;
    color: #fff !important;
}

.dog-planet-wishlist-actions .added {
    background: #28a745 !important;
}

.dog-planet-wishlist-move-select,
.dog-planet-wishlist-select {
    min-height: 42px;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    font-size: 14px;
    background: #fff;
}

.dog-planet-wishlist-empty {
    text-align: center;
    padding: 48px 24px;
    background: #fff;
    border: 1px dashed rgba(0, 60, 136, 0.2);
    border-radius: 16px;
}

.dog-planet-wishlist-empty p {
    margin: 0 0 20px;
    font-size: 16px;
    color: #666;
}

.dog-planet-wishlist-pagination {
    display: flex;
    justify-content: center;
    margin-top: 28px;
    padding: 16px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 14px;
}

.dog-planet-wishlist-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.dog-planet-wishlist-pagination .page-numbers li {
    margin: 0;
}

.dog-planet-wishlist-pagination a.page-numbers,
.dog-planet-wishlist-pagination span.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    color: var(--primary);
    border: 1px solid rgba(0, 60, 136, 0.15);
    background: #fff;
}

.dog-planet-wishlist-pagination span.page-numbers.current {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

.dog-planet-wishlist-footer {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dog-planet-wishlist-bulk-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.dog-planet-wishlist-footer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.dog-planet-wishlist-footer .btn,
.dog-planet-wishlist-footer input[type="submit"] {
    min-height: 42px;
}

.woocommerce-wishlist .woocommerce-notices-wrapper {
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .dog-planet-wishlist-page {
        margin-top: 16px;
        margin-bottom: 32px;
    }

    .dog-planet-wishlist-item {
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 14px;
        padding: 16px;
    }

    .dog-planet-wishlist-item-media {
        width: 96px;
        height: 96px;
    }

    .dog-planet-wishlist-item-title {
        font-size: 15px;
    }

    .dog-planet-wishlist-price {
        font-size: 16px;
    }

    .dog-planet-wishlist-item-body {
        padding-right: 20px;
    }

    .dog-planet-wishlist-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .dog-planet-wishlist-actions .button,
    .dog-planet-wishlist-actions a.add_to_cart_button {
        width: 100%;
    }
}

@media (max-width: 540px) {
    .dog-planet-wishlist-item {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .dog-planet-wishlist-item-media {
        width: 100%;
        height: 180px;
        max-width: 220px;
        margin: 0 auto;
    }

    .dog-planet-wishlist-item-body {
        padding-right: 0;
        text-align: center;
    }

    .dog-planet-wishlist-item-meta {
        justify-content: center;
    }

    .dog-planet-wishlist-actions {
        justify-content: center;
    }

    .dog-planet-wishlist-remove {
        top: 10px;
        right: 10px;
    }

    .dog-planet-wishlist-checkbox {
        top: 10px;
        left: 10px;
    }
}

/* Blog listing & single post */
.blog-page {
    padding-bottom: 48px;
}

.blog-header {
    padding-top: 32px;
    padding-bottom: 8px;
}

.blog-header .section-title {
    margin-bottom: 12px;
}

.blog-archive-description {
    color: #666;
    font-size: 16px;
    line-height: 1.65;
    max-width: 720px;
}

.blog-archive-description p:last-child {
    margin-bottom: 0;
}

.blog-search-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
    max-width: 520px;
}

.blog-search-input {
    flex: 1 1 200px;
    min-width: 0;
    height: 44px;
    padding: 0 14px;
    border: 1px solid var(--border);
    border-radius: 10px;
    font-size: 15px;
    font-family: inherit;
    background: #fff;
}

.blog-search-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(0, 60, 136, 0.12);
}

.blog-search-submit {
    flex: 0 0 auto;
    height: 44px;
    padding: 0 20px;
}

.blog-archive-content {
    padding-top: 8px;
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.blog-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 16px;
    overflow: hidden;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.blog-card:hover {
    box-shadow: 0 12px 32px rgba(0, 60, 136, 0.1);
    transform: translateY(-2px);
}

.blog-card-media {
    display: block;
    position: relative;
    aspect-ratio: 16 / 10;
    background: var(--gray);
    overflow: hidden;
}

.blog-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.blog-card:hover .blog-card-image {
    transform: scale(1.04);
}

.blog-card-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: rgba(0, 60, 136, 0.35);
    background: linear-gradient(135deg, #f0f4f8 0%, #e8eef5 100%);
}

.blog-card-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
    flex: 1 1 auto;
}

.blog-card-meta {
    font-size: 13px;
    color: #666;
    line-height: 1.4;
}

.blog-card-meta a {
    color: var(--primary);
    text-decoration: none;
    font-weight: 600;
}

.blog-card-meta a:hover {
    text-decoration: underline;
}

.blog-card-meta-sep {
    margin: 0 4px;
}

.blog-card-title {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.35;
    color: var(--text);
}

.blog-card-title a {
    color: inherit;
    text-decoration: none;
}

.blog-card-title a:hover {
    color: var(--primary);
}

.blog-card-excerpt {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    flex: 1 1 auto;
}

.blog-card-excerpt p {
    margin: 0;
}

.blog-card-read-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
    color: var(--primary);
    text-decoration: none;
    margin-top: 4px;
}

.blog-card-read-more:hover {
    color: var(--primary-light);
}

.blog-card-read-more-icon {
    transition: transform 0.2s ease;
}

.blog-card:hover .blog-card-read-more-icon {
    transform: translateX(3px);
}

.blog-empty {
    text-align: center;
    padding: 48px 24px;
    background: #fff;
    border: 1px dashed rgba(0, 60, 136, 0.2);
    border-radius: 16px;
}

.blog-empty p {
    margin: 0 0 20px;
    font-size: 16px;
    color: #666;
}

.blog-pagination {
    margin-top: 36px;
    padding: 16px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 14px;
}

.blog-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.blog-pagination a.page-numbers,
.blog-pagination span.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    color: var(--primary);
    border: 1px solid rgba(0, 60, 136, 0.15);
    background: #fff;
}

.blog-pagination span.page-numbers.current {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

.blog-pagination a.page-numbers:hover {
    background: rgba(0, 60, 136, 0.06);
}

/* Single post */
.blog-single-page {
    padding-bottom: 56px;
}

.blog-single-wrap {
    padding-top: 28px;
    max-width: 840px;
}

.blog-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    margin-bottom: 24px;
    color: #666;
}

.blog-breadcrumb a {
    color: var(--primary);
    text-decoration: none;
    font-weight: 600;
}

.blog-breadcrumb a:hover {
    text-decoration: underline;
}

.blog-breadcrumb-sep {
    color: #bbb;
}

.blog-single {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 20px;
    overflow: hidden;
}

.blog-single-header {
    padding: 32px 32px 24px;
}

.blog-single-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.blog-category-pill {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    color: var(--primary);
    background: rgba(0, 60, 136, 0.08);
    border: 1px solid rgba(0, 60, 136, 0.12);
}

.blog-category-pill:hover {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

.blog-single-title {
    margin: 0 0 16px;
    font-size: clamp(26px, 4vw, 36px);
    font-weight: 800;
    line-height: 1.25;
    color: var(--primary);
}

.blog-single-meta {
    font-size: 14px;
    color: #666;
}

.blog-single-meta-sep {
    margin: 0 6px;
}

.blog-single-featured {
    margin: 0;
    line-height: 0;
}

.blog-single-image {
    width: 100%;
    height: auto;
    display: block;
    max-height: 480px;
    object-fit: cover;
}

.blog-single-content.entry-content {
    max-width: none;
    margin: 0;
    padding: 28px 32px 32px;
}

.blog-single-content h2,
.blog-single-content h3,
.blog-single-content h4 {
    color: var(--primary);
    margin-top: 1.6em;
    margin-bottom: 0.6em;
}

.blog-single-content a {
    color: var(--primary);
}

.blog-single-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
}

.blog-single-content blockquote {
    margin: 1.5em 0;
    padding: 16px 20px;
    border-left: 4px solid var(--accent);
    background: rgba(255, 183, 3, 0.08);
    border-radius: 0 12px 12px 0;
}

.blog-single-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
    padding: 20px 32px 28px;
    border-top: 1px solid var(--border);
}

.blog-tags-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--primary);
}

.blog-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.blog-tag-pill {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    color: #555;
    background: var(--bg);
    border: 1px solid var(--border);
}

.blog-tag-pill:hover {
    color: var(--primary);
    border-color: rgba(0, 60, 136, 0.25);
}

.blog-post-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 28px;
}

.blog-post-nav-link {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 20px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 14px;
    text-decoration: none;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.blog-post-nav-link:hover {
    border-color: rgba(0, 60, 136, 0.2);
    box-shadow: 0 8px 24px rgba(0, 60, 136, 0.08);
}

.blog-post-nav-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--accent);
}

.blog-post-nav-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--primary);
    line-height: 1.4;
}

.blog-post-nav-next {
    text-align: right;
}

.dog-planet-blog-page .comments-area {
    margin-top: 36px;
    padding: 24px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 16px;
}

.dog-planet-blog-page .comment-respond input[type="text"],
.dog-planet-blog-page .comment-respond input[type="email"],
.dog-planet-blog-page .comment-respond input[type="url"],
.dog-planet-blog-page .comment-respond textarea {
    width: 100%;
    max-width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--border);
    border-radius: 10px;
    font-family: inherit;
    font-size: 15px;
}

.dog-planet-blog-page .comment-respond input:focus,
.dog-planet-blog-page .comment-respond textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(0, 60, 136, 0.12);
}

@media (max-width: 1024px) {
    .blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }
}

@media (max-width: 640px) {
    .blog-header {
        padding-top: 20px;
    }

    .blog-header .section-title {
        font-size: 24px;
    }

    .blog-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .blog-card-body {
        padding: 16px;
    }

    .blog-single-header {
        padding: 24px 20px 20px;
    }

    .blog-single-content.entry-content {
        padding: 20px;
    }

    .blog-single-footer {
        padding: 16px 20px 24px;
    }

    .blog-post-nav {
        grid-template-columns: 1fr;
    }

    .blog-post-nav-next {
        text-align: left;
    }

    .blog-search-form {
        max-width: none;
    }

    .blog-search-submit {
        width: 100%;
    }

    .footer-bottom-text-wrapper { 
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

.footer-bottom-text-wrapper {
    padding-top: 30px 10px;
    display: flex;
    justify-content: space-between  ;
    align-items: center;
    gap: 10px;
    text-align: center;
}

.footer-bottom-text-wrapper a {
    font-size: 16px;
    color: #e2e2e2;
    text-decoration: none;
    transition: color 0.2s ease;
}

