/* =========================
   PYRAMID / TRIKOMA — elegant cards (no inline)
   ========================= */

/* Base wrapper */
.ps-desc.elegant-desc,
.ps-short-card {
    --ps-green: #2e3b0c;
    --ps-gold: #f8d11b;

    /* theme defaults (Pyramid) */
    --ps-bg: #fffdf5;
    --ps-card-bg: #ffffff;
    --ps-border: #ecebe6;
    --ps-text: #2e3b0c;
    --ps-muted: #6b6b6b;
    --ps-shadow: 0 6px 18px rgba(0,0,0,.06);

    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    color: var(--ps-text);
    box-sizing: border-box;
}

.ps-desc.elegant-desc *,
.ps-short-card * {
    box-sizing: border-box;
}

/* Themes */
.ps-theme--pyramid { /* optional explicit theme hook */
    --ps-bg: #fffdf5;
    --ps-card-bg: #ffffff;
    --ps-border: #ecebe6;
}

.ps-theme--trikoma {
    --ps-bg: #f3f7ee;
    --ps-card-bg: #ffffff;
    --ps-border: #dfe6d8;
}

/* SHORT CARD */
.ps-short-card{
    font-size: 15px;
    line-height: 1.65;
    background: var(--ps-bg);
    border: 1px solid var(--ps-border);
    border-radius: 12px;
    padding: 14px 16px;
}
.ps-short-card p{
    margin: 0;
}
.ps-short-card p + p{
    margin-top: 8px;
}
.ps-short-card a{
    color: var(--ps-green);
    text-decoration: underline;
}

/* LONG DESCRIPTION WRAP */
.ps-desc.elegant-desc{
    font-size: 16px;
    line-height: 1.7;
    background: var(--ps-bg);
    border-radius: 14px;
    padding: 22px 20px;
    box-shadow: var(--ps-shadow);
}

/* Headings */
.ps-desc.elegant-desc h2{
    margin: 0 0 12px;
    font-weight: 800;
    color: var(--ps-green);
    font-size: 22px;
}
.ps-desc.elegant-desc h3{
    margin: 0 0 8px;
    font-weight: 800;
    color: var(--ps-green);
    font-size: 18px;
}
.ps-desc.elegant-desc h4{
    margin: 0 0 4px;
    font-weight: 700;
}

/* Paragraphs */
.ps-desc.elegant-desc p{
    margin: 0 0 14px;
}
.ps-desc.elegant-desc p:last-child{
    margin-bottom: 0;
}

/* Card blocks (white panels) */
.ps-card{
    background: var(--ps-card-bg);
    border: 1px solid var(--ps-border);
    border-radius: 14px;
    padding: 16px 14px;
    margin: 8px 0 16px;
}
.ps-card--tight{
    margin: 0 0 16px;
    padding: 16px;
}

/* Lists */
.ps-desc.elegant-desc ul{
    margin: 0;
    padding-left: 18px;
}
.ps-desc.elegant-desc li{
    margin: 6px 0;
}

/* Grid sections */
.ps-grid{
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    margin-bottom: 16px;
}
.ps-grid--compact{
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

/* Promo / tip box */
.ps-tip{
    background: var(--ps-gold);
    padding: 14px;
    border-radius: 10px;
    margin-top: 12px;
}
.ps-tip p{
    margin: 0;
    font-weight: 600;
    color: var(--ps-green);
}

/* FAQ */
.ps-faq{
    background: var(--ps-card-bg);
    border: 1px solid var(--ps-border);
    border-radius: 14px;
    padding: 16px;
    margin-bottom: 12px;
}
.ps-faq-item{
    margin: 12px 0;
}
.ps-faq-item p{
    margin: 0;
}

/* Legal note */
.ps-legal{
    margin: 6px 0 0;
    font-size: 12px;
    color: var(--ps-muted);
}

/* Small link styling inside long desc if needed */
.ps-desc.elegant-desc a{
    color: var(--ps-green);
    text-decoration: underline;
}

/* Mobile tweaks */
@media (max-width: 480px){
    .ps-desc.elegant-desc{
        padding: 18px 14px;
    }
    .ps-desc.elegant-desc h2{
        font-size: 20px;
    }
}


/* =========================
   CATEGORY LAYOUT (no inline)
   ========================= */

.ps-category.elegant-cat{
    /* inherits variables from ps-theme--pyramid / ps-theme--trikoma if set */
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: var(--ps-text, #2e3b0c);
    background: var(--ps-bg, #fffdf5);
    border-radius: 14px;
    padding: 22px 20px;
    box-shadow: var(--ps-shadow, 0 6px 18px rgba(0,0,0,.06));
    box-sizing: border-box;
}
.ps-category.elegant-cat *{ box-sizing: border-box; }

.ps-category.elegant-cat h1{
    color: var(--ps-green, #2e3b0c);
    margin: 0 0 12px;
    font-size: 24px;
    font-weight: 800;
}
.ps-category.elegant-cat h2{
    color: var(--ps-green, #2e3b0c);
    margin: 16px 0 8px;
    font-size: 20px;
    font-weight: 800;
}
.ps-category.elegant-cat h3{
    color: var(--ps-green, #2e3b0c);
    margin: 10px 0 6px;
    font-size: 18px;
    font-weight: 800;
}

/* text */
.ps-category.elegant-cat p{ margin: 0 0 14px; }
.ps-category.elegant-cat p:last-child{ margin-bottom: 0; }

/* lists */
.ps-category.elegant-cat ul{
    margin: 0 0 16px 20px;
    padding: 0;
    line-height: 1.6;
}
.ps-category.elegant-cat li{ margin-bottom: 6px; }

/* links */
.ps-category.elegant-cat a{
    color: var(--ps-green, #2e3b0c);
    text-decoration: underline;
}

/* PROMO BLOG BOX (yellow) */
.ps-promo{
    background: var(--ps-gold, #f8d11b);
    padding: 16px;
    border-radius: 12px;
    margin: 18px 0;
}
.ps-promo h3{
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 800;
}
.ps-promo p{ margin: 0 0 8px; }
.ps-promo a{ font-weight: 600; }

/* INFO CALLOUT (left border) */
.ps-callout{
    background: #f8f8f3;
    border-left: 4px solid var(--ps-green, #2e3b0c);
    padding: 12px 16px;
    margin: 18px 0;
    border-radius: 8px;
}
.ps-callout p{ margin: 0; }

/* CTA button */
.ps-btn{
    background: var(--ps-green, #2e3b0c);
    color: #fff !important;
    padding: 10px 18px;
    text-decoration: none !important;
    border-radius: 12px;
    font-weight: 800;
    display: inline-block;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

/* FAQ simple box (not schema) */
.ps-faqbox{
    background: #fff;
    border: 1px solid var(--ps-border, #ecebe6);
    border-radius: 12px;
    padding: 14px 14px 10px;
    margin: 0 0 14px;
}
.ps-faqbox p{ margin: 0 0 10px; }
.ps-faqbox p:last-child{ margin-bottom: 0; }

/* Quote / expert */
.ps-quote{
    margin: 0 0 16px;
    padding: 12px 16px;
    border-left: 4px solid var(--ps-green, #2e3b0c);
    background: #fff;
    border-radius: 10px;
}
.ps-quote p{ margin: 0 0 8px; }
.ps-quote p:last-child{ margin-bottom: 0; }

/* Tables */
.ps-table-wrap{
    overflow-x: auto;
    margin: 0 0 16px;
}
.ps-table{
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    min-width: 560px; /* so it scrolls nicely on mobile */
}
.ps-table th,
.ps-table td{
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
    vertical-align: top;
}
.ps-table th{
    background: #f7f6ef;
    font-weight: 800;
}

/* small legal/info */
.ps-note{
    font-size: 12px;
    color: #666;
    margin-top: 12px;
}

/* Mobile */
@media (max-width: 480px){
    .ps-category.elegant-cat{ padding: 18px 14px; }
    .ps-category.elegant-cat h1{ font-size: 22px; }
    .ps-category.elegant-cat h2{ font-size: 19px; }
    .ps-table{ min-width: 520px; }
}



.btn-primary {
    background-color: #2e3b0c !important;
    color: #f8d11b !important;
    border: #2e3b0c !important;
}
.btn-link {
    color: #2e3b0c !important;
}

.badge {
    background-color: #f8d11b !important;
    color: #2e3b0c !important;
 }

a, a.btn-outline-primary, .all-product-link.btn i {
    color: #2e3b0c !important;
}


.btn-outline-primary, .btn-outline-primary i  {
    color: #2e3b0c !important;
    background-color: #f8d11b !important;
    border: #f8d11b !important;
}

h2.display-1
{
    color: white !important;
}

figcaption.carousel-caption p {
    color: white !important;
}

.header-bottom {
    padding: 10px !important;
}

/* 18.01.26 Стили для кастомного блока на главной */
.custom-hero-block {
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.7;
    color: #2e3b0c;
    background: #fffdf5;
    border-radius: 14px;
    padding: 20px 20px 22px;
    box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

.custom-hero-block h1 { margin: 0 0 10px; font-weight: 800; font-size: 28px; letter-spacing: .2px; color: #2e3b0c; }
.custom-hero-block h2 { margin: 18px 0 10px; font-weight: 800; font-size: 22px; color: #2e3b0c; }
.custom-hero-block p { margin-bottom: 10px; }
.custom-hero-block .hero-subtitle { font-size: 17px; }

.custom-hero-block .btn-yellow {
    display: inline-block;
    background: #f8d11b;
    color: #2e3b0c;
    padding: 12px 22px;
    border-radius: 12px;
    font-weight: bold;
    text-decoration: none;
    box-shadow: 0 3px 6px rgba(0,0,0,0.1);
    transition: transform 0.2s;
}

.custom-hero-block .info-card {
    border: 1px solid #ecebe6;
    border-radius: 12px;
    padding: 14px;
    background: #fff;
    margin-bottom: 10px;
}

.custom-hero-block .text-link { text-decoration: underline; color: #2e3b0c; }

@media screen and (max-width: 768px) {
    .carousel .carousel-caption .h2, .carousel .carousel-caption h2
    {
        font-size: 30px !important;
    }
}

@media screen and (hover: none){
    .carousel .carousel-caption .h2, .carousel .carousel-caption h2
    {
        font-size: 30px !important;
    }
}

@media screen and (orientation: portrait) {
    .carousel .carousel-caption .h2, .carousel .carousel-caption h2
    {
        font-size: 30px !important;
    }
}

div.footer__main a {
    color: #FFFDF5 !important;
}
