.ap-v18-section { background-color:#f8f6f3; padding:100px 5%; overflow:hidden; }
            .ap-v18-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:40px; }
            .ap-v18-title { font-family:var(--ap-font-heading); font-size:clamp(34px,3vw,45px); font-weight:300; color:var(--ap-color-title); margin:0; text-transform:none; letter-spacing:var(--ap-heading-soft-letter-spacing); }
            .ap-v18-nav { display:flex; gap:30px; }
            .ap-v18-arrow { background:none!important; border:none!important; cursor:pointer; width:50px; height:30px; position:relative; padding:0; }
            .ap-v18-arrow::before { content:''; position:absolute; top:50%; width:45px; height:1px; background:#1a1a1a; transition:all .4s ease; }
            .ap-v18-arrow::after { content:''; position:absolute; top:calc(50% - 4px); width:8px; height:8px; border-top:1px solid #1a1a1a; transition:all .3s; }
            .ap-v18-next::before { right:0; } .ap-v18-next::after { right:0; border-right:1px solid #1a1a1a; transform:rotate(45deg); }
            .ap-v18-prev::before { left:0; } .ap-v18-prev::after { left:0; border-left:1px solid #1a1a1a; transform:rotate(-45deg); }
            .ap-v18-arrow:hover::before { width:52px; background:#928a81; }
            .ap-v18-track { display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
            .ap-v18-track::-webkit-scrollbar { display:none; }
            .ap-v18-card { flex:0 0 calc(25% - 7.5px); min-width:300px; scroll-snap-align:start; display:flex; flex-direction:column; }
            .ap-v18-img-box { position:relative; width:100%;  overflow:hidden; display:flex; align-items:center; justify-content:center; background:#fff; }
            .ap-v18-link { width:100%; height:100%; display:block; }
            .ap-v18-img-box img { width:100%; height:100%; object-fit:contain; padding:18px!important; transition:transform 1.2s cubic-bezier(.19,1,.22,1); }
            .ap-v18-card:hover img { transform:scale(1.06); }
            .ap-v18-add { position:absolute; bottom:0; left:0; width:100%; height:48px; background:#1a1a1a; color:#fff!important; font-family:var(--ap-font-body); font-size:12px; font-weight:400; letter-spacing:.16em; text-transform:uppercase; display:flex; align-items:center; justify-content:center; text-decoration:none!important; transform:translateY(100%); transition:transform .4s ease; z-index:5; }
            .ap-v18-img-box:hover .ap-v18-add { transform:translateY(0); }
            .ap-v18-info { padding:15px 0; text-align:left; }
            .ap-v18-name { font-family:var(--ap-font-body); font-size:17px; font-weight:300; color:var(--ap-color-title); margin:0 0 5px;  letter-spacing:var(--ap-product-letter-spacing); line-height:1.36; }
            .ap-v18-price { font-family:var(--ap-font-body); font-size:15px; font-weight:400; color:var(--ap-color-muted); display:block; }
            @media(max-width:1100px){ .ap-v18-card { flex:0 0 calc(33.33% - 7px); } }
            @media(max-width:768px){ .ap-v18-card { flex:0 0 85%; } .ap-v18-section { padding:80px 5%; } }

.ap-v19-section { background-color:#f8f6f3; padding:100px 0; overflow:hidden; }
            .ap-v19-header { display:flex; justify-content:space-between; align-items:flex-end; padding:0 5%; margin-bottom:40px; }
            .ap-v19-title { font-family:var(--ap-font-heading); font-size:clamp(34px,3vw,45px); font-weight:300; color:var(--ap-color-title); margin:0; text-transform:none; letter-spacing:var(--ap-heading-soft-letter-spacing); }
            .ap-v19-nav { display:flex; gap:30px; }
            .ap-v19-arrow { background:none!important; border:none!important; cursor:pointer; width:50px; height:30px; position:relative; padding:0; }
            .ap-v19-arrow::before { content:''; position:absolute; top:50%; width:45px; height:1px; background:#1a1a1a; transition:all .4s ease; }
            .ap-v19-arrow::after { content:''; position:absolute; top:calc(50% - 4px); width:8px; height:8px; border-top:1px solid #1a1a1a; transition:all .3s; }
            .ap-v19-next::before { right:0; } .ap-v19-next::after { right:0; border-right:1px solid #1a1a1a; transform:rotate(45deg); }
            .ap-v19-prev::before { left:0; } .ap-v19-prev::after { left:0; border-left:1px solid #1a1a1a; transform:rotate(-45deg); }
            .ap-v19-arrow:hover::before { width:52px; background:#928a81; }
            .ap-v19-track { display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:0 5%; }
            .ap-v19-track::-webkit-scrollbar { display:none; }
            .ap-v19-card { flex:0 0 calc(25% - 7.5px); min-width:300px; scroll-snap-align:start; display:flex; flex-direction:column; }
            .ap-v19-img-box { position:relative; width:100%; aspect-ratio:4/5; overflow:hidden; display:flex; align-items:center; justify-content:center; background:#fff; }
            .ap-v19-link { width:100%; height:100%; display:block; }
            .ap-v19-img-box img { width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.19,1,.22,1); }
            .ap-v19-card:hover img { transform:scale(1.06); }
            .ap-v19-add { position:absolute; bottom:0; left:0; width:100%; height:48px; background:#1a1a1a; color:#fff!important; font-family:var(--ap-font-body); font-size:12px; font-weight:400; letter-spacing:.16em; text-transform:uppercase; display:flex; align-items:center; justify-content:center; text-decoration:none!important; transform:translateY(100%); transition:transform .4s ease; z-index:5; }
            .ap-v19-img-box:hover .ap-v19-add { transform:translateY(0); }
            .ap-v19-info { padding:15px 0; text-align:left; }
            .ap-v19-name { font-family:var(--ap-font-body); font-size:17px; font-weight:300; color:var(--ap-color-title); margin:0 0 5px; letter-spacing:var(--ap-product-letter-spacing); line-height:1.36; }
            .ap-v19-price { font-family:var(--ap-font-body); font-size:15px; font-weight:400; color:var(--ap-color-muted); display:block; }
            @media(max-width:1100px){ .ap-v19-card { flex:0 0 calc(33.33% - 7px); } }
            @media(max-width:768px){ .ap-v19-card { flex:0 0 85%; } .ap-v19-section { padding:60px 0; } }

/* I badge prodotto sono definiti in typography.css, l'unico foglio caricato su tutte
   le pagine: shortcodes.css viene incluso solo quando in pagina c'è uno shortcode,
   quindi tenerli qui li lasciava senza sfondo né posizionamento nelle collezioni. */
.ap-product-image-link { display:flex; width:100%; height:100%; align-items:center; justify-content:center; color:inherit; text-decoration:none; }
.ap-product-title-link { color:inherit; text-decoration:none; }
.ap-empty-products-message { text-align:center; padding:100px; font-family:var(--ap-font-body); }

.ap-v18-section {
    padding:96px 5% 110px;
}

.ap-v19-section {
    padding:96px 0 110px;
}

/* Editorial call-to-action replacing the retired ceramics carousel. */
.ap-aperion-brand-cta {
	display:grid;
	grid-template-columns:minmax(0, 1.6fr) minmax(350px, .8fr);
	min-height:520px;
	margin:0;
	background:#272724;
	color:#f5f2ec;
	overflow:hidden;
}
.ap-aperion-brand-cta__image {
	background-position:center;
	background-size:cover;
	min-height:520px;
}
.ap-aperion-brand-cta__content {
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
	padding:68px clamp(40px, 6vw, 98px) 68px clamp(38px, 5vw, 76px);
}
.ap-aperion-brand-cta__content > span {
	font-family:var(--ap-font-body);
	font-size:11px;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:#cbb895;
}
.ap-aperion-brand-cta h2 {
	margin:16px 0 22px;
	font-family:var(--ap-font-heading);
	font-weight:300;
	font-size:clamp(54px, 5vw, 82px);
	line-height:.9;
	color:#fff;
}
.ap-aperion-brand-cta p {
	max-width:350px;
	margin:0;
	font-family:var(--ap-font-body);
	font-size:16px;
	font-weight:300;
	line-height:1.55;
	color:#ded9d0;
}
.ap-aperion-brand-cta__link {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	margin-top:32px;
	padding:0 22px;
	border:1px solid rgba(255,255,255,.72);
	font-family:var(--ap-font-body);
	font-size:11px;
	letter-spacing:.15em;
	text-transform:uppercase;
	color:#fff !important;
	text-decoration:none !important;
	transition:background-color .25s ease, color .25s ease;
}
.ap-aperion-brand-cta__link:hover,
.ap-aperion-brand-cta__link:focus {
	background:#fff;
	color:#272724 !important;
}
@media (max-width: 767px) {
	.ap-aperion-brand-cta { grid-template-columns:1fr; }
	.ap-aperion-brand-cta__image { min-height:320px; }
	.ap-aperion-brand-cta__content { padding:52px 9% 58px; }
}

.ap-v18-header,
.ap-v19-header {
    margin-bottom:34px;
}

.ap-v18-title,
.ap-v19-title {
    color:var(--ap-color-title);
    font-size:clamp(34px,3vw,45px);
    font-weight:300;
    letter-spacing:var(--ap-heading-soft-letter-spacing);
    line-height:.98;
    text-transform:none;
}

.ap-v18-title::first-letter,
.ap-v19-title::first-letter {
    text-transform:none;
}

.ap-v18-nav,
.ap-v19-nav {
    gap:34px;
}

.ap-v18-arrow,
.ap-v19-arrow {
    width:54px;
    opacity:.82;
}

.ap-v18-arrow::before,
.ap-v19-arrow::before {
    background:var(--ap-color-title);
}

.ap-v18-arrow::after,
.ap-v19-arrow::after {
    border-color:var(--ap-color-title);
}

.ap-v18-arrow:hover::before,
.ap-v19-arrow:hover::before {
    background:var(--ap-color-accent);
}

.ap-v18-track,
.ap-v19-track {
    gap:14px;
}

.ap-v18-img-box img,
.ap-v19-img-box img {
    transition:transform .9s cubic-bezier(.19,1,.22,1), filter .9s cubic-bezier(.19,1,.22,1);
}

.ap-v18-card:hover img,
.ap-v19-card:hover img {
    transform:scale(1.025);
    filter:saturate(.96) contrast(1.02);
}

.ap-v18-info,
.ap-v19-info {
    padding:14px 0 0;
}

.ap-v18-name,
.ap-v19-name {
    color:var(--ap-color-title);
    font-size:17px;
    font-family:var(--ap-font-body);
    font-weight:300;
    letter-spacing:var(--ap-product-letter-spacing);
    line-height:1.36;
    margin:0 0 5px;
}

.ap-v18-price,
.ap-v19-price {
    color:var(--ap-color-muted);
    font-size:15px;
    font-weight:400;
    letter-spacing:.015em;
}

.ap-v18-add,
.ap-v19-add {
    background:#000;
    font-size:12px;
    font-weight:400;
    letter-spacing:.16em;
}

.ap-v18-add:hover,
.ap-v19-add:hover {
    background:var(--ap-color-accent);
}

.ap-product-badge {
    font-size:9px;
    font-weight:400;
    letter-spacing:.18em;
    padding:6px 10px;
}

@media(max-width:768px) {
    .ap-v18-section,
    .ap-v19-section {
        padding-top:64px;
        padding-bottom:76px;
    }

    .ap-v18-title,
    .ap-v19-title {
        font-size:34px;
    }
}

.ap-fullscreen-wrapper {
    width:100vw;
    height:50vh;
    margin:0;
    padding:0;
    overflow:hidden;
    background-color:#111;
}

.ap-double-cta-fullscreen {
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
    height:100%;
}

.ap-fullscreen-window {
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    height:100%;
    padding:50px 60px;
    overflow:hidden;
}

.ap-parallax-container {
    position:absolute;
    inset:0;
    z-index:1;
    background:#111;
}

.ap-cta-parallax-full-bg {
    position:absolute;
    inset:0;
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;
    will-change:auto;
    transform:none!important;
}

.ap-full-fineart {
    background-color:#111;
}

.ap-full-ceramica {
    background-color:#111;
}

.ap-fullscreen-window::after {
    content:'';
    position:absolute;
    inset:0;
    z-index:2;
    background:linear-gradient(to top, rgba(18,16,13,.84) 0%, rgba(18,16,13,.32) 62%, rgba(18,16,13,.08) 100%);
    transition:background .8s cubic-bezier(.16,1,.3,1);
}

.ap-fullscreen-window:hover::after {
    background:linear-gradient(to top, rgba(18,16,13,.94) 0%, rgba(18,16,13,.42) 62%, rgba(18,16,13,.18) 100%);
}

.ap-cta-text-full-wrapper {
    position:relative;
    z-index:3;
    max-width:460px;
    color:#fff;
    opacity:.92;
    transform:translateY(14px);
    transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);
}

.ap-fullscreen-window.ap-right-align {
    align-items:flex-end;
    text-align:right;
}

.ap-fullscreen-window:hover .ap-cta-text-full-wrapper {
    opacity:1;
    transform:translateY(0);
}

.ap-cta-full-tag {
    display:block;
    margin-bottom:10px;
    font-family:var(--ap-font-body);
    font-size:11px;
    font-weight:400;
    line-height:1.2;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--ap-color-accent);
}

.ap-fullscreen-window h2 {
    margin:0 0 15px;
    font-family:var(--ap-font-heading);
    font-size:clamp(32px,3.5vw,48px);
    font-weight:300;
    line-height:1.02;
    letter-spacing:-.034em;
    color:#fff;
}

.ap-fullscreen-window p {
    max-height:0;
    margin:0;
    overflow:hidden;
    opacity:0;
    transform:translateY(10px);
    font-family:var(--ap-font-body);
    font-size:16.8px;
    font-weight:300;
    line-height:1.64;
    letter-spacing:-.005em;
    color:rgba(255,255,255,.78);
    transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1), max-height .8s cubic-bezier(.16,1,.3,1), margin .8s cubic-bezier(.16,1,.3,1);
}

.ap-fullscreen-window:hover p {
    max-height:140px;
    margin-bottom:30px;
    opacity:1;
    transform:translateY(0);
}

.ap-cta-link-full-btn {
    position:relative;
    display:inline-flex;
    align-items:center;
    padding-bottom:6px;
    border-bottom:0;
    font-family:var(--ap-font-body);
    font-size:12px;
    font-weight:400;
    line-height:1;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:#fff;
    text-decoration:none;
    transition:color .45s ease, letter-spacing .45s ease, transform .45s cubic-bezier(.16,1,.3,1);
}

.ap-cta-link-full-btn::before,
.ap-cta-link-full-btn::after {
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:currentColor;
    transform-origin:left center;
    transition:transform .55s cubic-bezier(.16,1,.3,1), opacity .55s cubic-bezier(.16,1,.3,1);
}

.ap-cta-link-full-btn::before {
    opacity:.76;
}

.ap-cta-link-full-btn::after {
    transform:scaleX(0);
    transform-origin:right center;
    opacity:1;
}

.ap-fullscreen-window:hover .ap-cta-link-full-btn {
    color:#fff;
    letter-spacing:.16em;
    transform:translateY(-2px);
}

.ap-fullscreen-window:hover .ap-cta-link-full-btn::before,
.ap-cta-link-full-btn:hover::before {
    transform:scaleX(.28);
    transform-origin:right center;
    opacity:.62;
}

.ap-fullscreen-window:hover .ap-cta-link-full-btn::after,
.ap-cta-link-full-btn:hover::after {
    transform:scaleX(1);
    transform-origin:left center;
}

.aperion-section-wrapper {
    width:100%;
    padding:10px;
    box-sizing:border-box;
    background-color:#f7f6f4;
}

.aperion-gallery-grid {
    display:flex;
    flex-wrap:wrap;
    width:100%;
    min-height:70vh;
    gap:10px;
}

.banner-card-luxury {
    position:relative;
    display:flex;
    flex:1;
    min-width:calc(50% - 10px);
    flex-direction:column;
    justify-content:flex-end;
    padding:70px 5%;
    overflow:hidden;
    color:#fff;
    text-decoration:none;
}

.banner-card-luxury:visited,
.banner-card-luxury:hover,
.banner-card-luxury:focus {
    color:#fff;
    text-decoration:none;
}

.card-image-full {
    position:absolute;
    inset:0;
    z-index:1;
    background-size:cover;
    background-position:center;
    transition:transform 1.8s cubic-bezier(.15,.75,.5,1);
}

.card-art .card-image-full {
    background-image:url("https://images.unsplash.com/photo-1518998053901-5348d3961a04?q=80&w=2000&auto=format&fit=crop");
}

.card-functional .card-image-full {
    background-image:url("https://images.unsplash.com/photo-1520408222757-6f9f95d87d5d?q=80&w=2000&auto=format&fit=crop");
}

.card-dark-overlay {
    position:absolute;
    inset:0;
    z-index:2;
    background:linear-gradient(to top, rgba(18,16,13,.78) 0%, rgba(18,16,13,.30) 52%, rgba(18,16,13,.04) 100%);
    transition:opacity .55s ease, background .55s ease;
}

.card-text-box {
    position:relative;
    z-index:3;
}

.card-h2 {
    display:block;
    margin:0 0 12px;
    font-family:var(--ap-font-heading);
    font-size:clamp(34px,3vw,45px);
    font-weight:300;
    line-height:1.02;
    letter-spacing:-.032em;
    color:#fff;
}

.card-explore-btn {
    display:inline-flex;
    align-items:center;
    font-family:var(--ap-font-body);
    font-size:12px;
    font-weight:400;
    line-height:1;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:#fff;
}

.card-explore-btn::after {
    content:'';
    width:30px;
    height:1px;
    margin-left:15px;
    background-color:#fff;
    transition:width .6s cubic-bezier(.19,1,.22,1);
}

.banner-card-luxury:hover .card-image-full {
    transform:scale(1.06);
}

.banner-card-luxury:hover .card-dark-overlay {
    opacity:.92;
}

.banner-card-luxury:hover .card-explore-btn::after {
    width:60px;
}

@media (prefers-reduced-motion:reduce) {
    .ap-cta-parallax-full-bg,
    .ap-cta-text-full-wrapper,
    .ap-fullscreen-window p,
    .card-image-full,
    .card-explore-btn::after {
        transition:none;
    }
}

@media (max-width:1024px) {
    .ap-fullscreen-wrapper {
        height:auto;
        overflow:visible;
    }

    .ap-double-cta-fullscreen {
        grid-template-columns:1fr;
    }

    .ap-fullscreen-window {
        min-height:45vh;
        height:auto;
        padding:40px;
    }

    .ap-fullscreen-window.ap-right-align {
        align-items:flex-start;
        text-align:left;
    }

    .ap-cta-text-full-wrapper {
        transform:translateY(0);
    }

    .ap-fullscreen-window p {
        max-height:none;
        margin-bottom:30px;
        opacity:1;
        transform:translateY(0);
    }
}

@media (max-width:900px) {
    .aperion-section-wrapper {
        padding:20px 10px;
    }

    .aperion-gallery-grid {
        flex-direction:column;
        gap:15px;
    }

    .banner-card-luxury {
        min-width:100%;
        min-height:50vh;
        padding:50px 10%;
    }
}

@media (max-width:600px) {
    .ap-fullscreen-window {
        min-height:58vh;
        padding:34px 24px;
    }

    .ap-fullscreen-window h2,
    .card-h2 {
        font-size:clamp(32px,10vw,42px);
    }
}






.ap-fullscreen-window + .ap-fullscreen-window {
    border-left: 0.1px solid #c5c5c59c !important;
}

/* =========================================================
   FULLSCREEN CTA — accent hover
   ========================================================= */
.ap-fullscreen-window:hover .ap-cta-link-full-btn,
.ap-cta-link-full-btn:hover,
.ap-cta-link-full-btn:focus-visible {
    color: var(--ap-color-accent) !important;
}

/* =========================================================
   MAGAZINE CARDS GRID
   Shortcode: [aperion_magazine_cards]
   ========================================================= */
.ap-magazine-grid {
    --ap-magazine-columns: 3;
    --ap-magazine-bg: #f7f4ef;
    --ap-magazine-card-bg: transparent;
    --ap-magazine-text: #29231d;
    --ap-magazine-muted: #7f7871;
    --ap-magazine-border: rgba(54, 46, 38, 0.22);
    --ap-magazine-accent: #a5866d;
    width: 100%;
    padding: 76px 0;
    background: var(--ap-magazine-bg);
}

.ap-magazine-grid *,
.ap-magazine-grid *::before,
.ap-magazine-grid *::after {
    box-sizing: border-box;
}

.ap-magazine-grid__inner {
    width: min(1440px, calc(100% - 48px));
    margin: 0 auto;
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity .22s ease,
        transform .22s cubic-bezier(.22, 1, .36, 1);
}

/* Cambio categoria/pagina senza flash o salto di layout. */
.ap-magazine-grid.is-loading {
    cursor: progress;
}

.ap-magazine-grid.is-loading .ap-magazine-grid__inner {
    pointer-events: none;
    opacity: .32;
    transform: translateY(5px);
}

.ap-magazine-grid.is-entering .ap-magazine-grid__inner {
    animation: ap-magazine-grid-enter .38s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes ap-magazine-grid-enter {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.ap-magazine-grid__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 38px;
}

.ap-magazine-grid__toolbar-label {
    flex: 0 0 auto;
    color: var(--ap-magazine-text);
    font-family: var(--ap-font-body, "Satoshi", sans-serif);
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ap-magazine-grid__filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.ap-magazine-grid__filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 15px 7px;
    border: 1px solid rgba(41, 35, 29, 0.34);
    border-radius: 999px;
    color: var(--ap-magazine-text) !important;
    font-family: var(--ap-font-body, "Satoshi", sans-serif);
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.075em;
    text-decoration: none !important;
    text-transform: uppercase;
    background: transparent;
    transition: color .28s ease, background-color .28s ease, border-color .28s ease;
}

.ap-magazine-grid__filter:hover,
.ap-magazine-grid__filter:focus-visible,
.ap-magazine-grid__filter.is-active {
    border-color: var(--ap-magazine-text);
    color: #fff !important;
    background: var(--ap-magazine-text);
}

.ap-magazine-grid__filter:focus-visible,
.ap-magazine-grid__card-link:focus-visible,
.ap-magazine-grid__page:focus-visible {
    outline: 2px solid var(--ap-magazine-accent);
    outline-offset: 3px;
}

.ap-magazine-grid__cards {
    display: grid;
    grid-template-columns: repeat(var(--ap-magazine-columns), minmax(0, 1fr));
    border-top: 1px solid var(--ap-magazine-border);
    border-left: 1px solid var(--ap-magazine-border);
}

.ap-magazine-grid__card {
    min-width: 0;
    margin: 0;
    border-right: 1px solid var(--ap-magazine-border);
    border-bottom: 0;
    background: var(--ap-magazine-card-bg);
}

.ap-magazine-grid__card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 27px;
    color: var(--ap-magazine-text) !important;
    text-decoration: none !important;
}

.ap-magazine-grid__card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.ap-magazine-grid__date {
    color: var(--ap-magazine-muted);
    font-family: var(--ap-font-body, "Satoshi", sans-serif);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: 0.01em;
}

.ap-magazine-grid__category {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 31px;
    max-width: 58%;
    padding: 7px 13px 6px;
    overflow: hidden;
    border: 1px solid rgba(41, 35, 29, 0.34);
    border-radius: 999px;
    color: var(--ap-magazine-text);
    font-family: var(--ap-font-body, "Satoshi", sans-serif);
    font-size: 10px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.075em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.ap-magazine-grid__media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    margin: 0 0 22px;
    padding: 0;
    overflow: hidden;
    background: transparent;
    border: 0;
}

.ap-magazine-grid__media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: rgba(35, 29, 24, 0);
    transition: background-color .45s ease;
}

.ap-magazine-grid__media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center;
    border: 0 !important;
    filter: saturate(.88);
    transform: scale(1);
    transition: transform .75s cubic-bezier(.22, 1, .36, 1), filter .45s ease;
}

.ap-magazine-grid__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 20px;
    color: rgba(41, 35, 29, 0.42);
    font-family: var(--ap-font-body, "Satoshi", sans-serif);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-align: center;
    text-transform: uppercase;
}

.ap-magazine-grid__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.ap-magazine-grid__title {
    margin: 0 0 13px !important;
    padding: 0 !important;
    color: var(--ap-magazine-text) !important;
    font-family: var(--ap-font-heading, "Switzer", sans-serif) !important;
    font-size: clamp(22px, 1.55vw, 28px) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.035em !important;
    text-decoration: none !important;
    text-transform: none !important;
    transition: transform .42s cubic-bezier(.22, 1, .36, 1);
}

.ap-magazine-grid__excerpt {
    margin: 0 0 24px !important;
    color: var(--ap-magazine-muted) !important;
    font-family: var(--ap-font-body, "Satoshi", sans-serif) !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    line-height: 1.58 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.ap-magazine-grid__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: auto;
    padding-top: 17px;
    border-top: 1px solid rgba(54, 46, 38, 0.13);
}

.ap-magazine-grid__reading-time {
    color: var(--ap-magazine-muted);
    font-family: var(--ap-font-body, "Satoshi", sans-serif);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ap-magazine-grid__arrow {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: var(--ap-magazine-text);
    font-family: Arial, sans-serif;
    font-size: 20px;
    font-weight: 300;
    line-height: 1;
    transition: transform .42s cubic-bezier(.22, 1, .36, 1);
}

.ap-magazine-grid__card-link:hover .ap-magazine-grid__media img,
.ap-magazine-grid__card-link:focus-visible .ap-magazine-grid__media img {
    filter: saturate(1);
    transform: scale(1.035);
}

.ap-magazine-grid__card-link:hover .ap-magazine-grid__media::after,
.ap-magazine-grid__card-link:focus-visible .ap-magazine-grid__media::after {
    background: rgba(35, 29, 24, 0.055);
}

.ap-magazine-grid__card-link:hover .ap-magazine-grid__title,
.ap-magazine-grid__card-link:focus-visible .ap-magazine-grid__title {
    transform: translateY(-3px);
}

.ap-magazine-grid__card-link:hover .ap-magazine-grid__arrow,
.ap-magazine-grid__card-link:focus-visible .ap-magazine-grid__arrow {
    transform: translateX(6px);
}

.ap-magazine-grid__card-link:focus-visible {
    outline-offset: -5px;
}

.ap-magazine-grid__pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 42px;
}

.ap-magazine-grid__page {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 11px;
    border: 1px solid var(--ap-magazine-border);
    color: var(--ap-magazine-text) !important;
    font-family: var(--ap-font-body, "Satoshi", sans-serif);
    font-size: 11px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none !important;
    background: transparent;
    transition: color .28s ease, background-color .28s ease, border-color .28s ease;
}

.ap-magazine-grid__page:hover,
.ap-magazine-grid__page.is-current {
    border-color: var(--ap-magazine-text);
    color: #fff !important;
    background: var(--ap-magazine-text);
}

.ap-magazine-grid__page--arrow {
    font-family: Arial, sans-serif;
    font-size: 18px;
    font-weight: 300;
}

.ap-magazine-grid__ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 38px;
    color: var(--ap-magazine-muted);
}

.ap-magazine-grid__empty {
    padding: 64px 28px;
    border: 1px solid var(--ap-magazine-border);
    color: var(--ap-magazine-muted);
    font-family: var(--ap-font-body, "Satoshi", sans-serif);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.55;
    text-align: center;
}

@media (max-width: 1024px) {
    .ap-magazine-grid {
        padding: 62px 0;
    }

    .ap-magazine-grid__inner {
        width: min(1440px, calc(100% - 40px));
    }

    .ap-magazine-grid__cards {
        grid-template-columns: repeat(var(--ap-magazine-tablet-columns, 2), minmax(0, 1fr));
    }

    .ap-magazine-grid__card-link {
        padding: 23px;
    }

    .ap-magazine-grid__title {
        font-size: 23px !important;
    }
}

@media (max-width: 767px) {
    .ap-magazine-grid {
        padding: 46px 0;
    }

    .ap-magazine-grid__inner {
        width: min(1440px, calc(100% - 30px));
    }

    .ap-magazine-grid__toolbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
        margin-bottom: 27px;
    }

    .ap-magazine-grid__filters {
        justify-content: flex-start;
    }

    .ap-magazine-grid__cards {
        grid-template-columns: 1fr;
    }

    .ap-magazine-grid__card-link {
        padding: 20px;
    }

    .ap-magazine-grid__title {
        font-size: 22px !important;
        line-height: 1.2 !important;
    }

    .ap-magazine-grid__excerpt {
        font-size: 16px !important;
    }
}

@media screen and (max-width: 767px) {
    .ap-magazine-grid__toolbar-label {
        font-size: 12px;
    }

    .ap-magazine-grid__filter {
        min-height: 33px;
        font-size: 10px;
    }

    .ap-magazine-grid__date {
        font-size: 12px;
    }

    .ap-magazine-grid__category {
        min-height: 30px;
        font-size: 10px;
    }

    .ap-magazine-grid__reading-time {
        font-size: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ap-magazine-grid__inner,
    .ap-magazine-grid__filter,
    .ap-magazine-grid__media img,
    .ap-magazine-grid__media::after,
    .ap-magazine-grid__title,
    .ap-magazine-grid__arrow,
    .ap-magazine-grid__page {
        animation: none !important;
        transition: none !important;
    }
}
