/* ==========================================================
   SHEARD PREMIUM AGRICULTURAL THEME
   Version 2
   ========================================================== */

:root{

--accent:#7a1f2a;
--accent-dark:#5c1720;

--charcoal:#242424;
--light:#f7f5f2;
--gold:#c6a15b;

--grey:#6d6d6d;

}

/* =====================================
BODY
===================================== */

body{

background:#f7f5f2;
color:#333;

}

/* =====================================
NAVIGATION
===================================== */

.navigation{

background:#ffffff;
box-shadow:0 6px 25px rgba(0,0,0,.08);

}

.navigation a{

font-weight:600;
color:#222;

transition:.25s;

}

.navigation a:hover{

color:var(--accent);

}

.navigation a::after{

content:"";
display:block;
height:2px;
background:var(--accent);

transform:scaleX(0);

transition:.25s;

}

.navigation a:hover::after{

transform:scaleX(1);

}

/* =====================================
HERO
===================================== */

.hero{

min-height:88vh;

}

.hero-overlay{

background:
linear-gradient(
90deg,
rgba(0,0,0,.65),
rgba(0,0,0,.20),
rgba(0,0,0,.05));

}

.hero h1{

font-size:68px;

line-height:1.05;

font-weight:800;

color:white;

max-width:700px;

}

.hero p{

font-size:22px;

color:white;

max-width:620px;

margin-top:30px;

}

.secure-chip{

display:none;

}

/* =====================================
BUTTONS
===================================== */

.btn.gold{

background:var(--accent);

border:none;

color:white;

}

.btn.gold:hover{

background:var(--accent-dark);

transform:translateY(-2px);

}

.btn.outline{

border:2px solid white;

color:white;

}

.btn.outline:hover{

background:white;

color:#222;

}

/* =====================================
TRUST BAR
===================================== */

.trustbar{

background:white;

border-top:1px solid #eee;

border-bottom:1px solid #eee;

padding:30px 0;

}

.trustbar div{

font-weight:600;

}

.trustbar span{

color:var(--accent);

}

/* =====================================
SECTION HEADINGS
===================================== */

.section-head small{

color:var(--accent);

font-weight:800;

letter-spacing:3px;

}

.section-head h2{

position:relative;

display:inline-block;

padding-bottom:15px;

}

.section-head h2:after{

content:"";

display:block;

width:80px;

height:3px;

background:var(--accent);

margin:18px auto 0;

}

/* =====================================
AUCTION CARDS
===================================== */

.auction-card{

background:white;

border-radius:12px;

overflow:hidden;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.35s;

}

.auction-card:hover{

transform:translateY(-8px);

box-shadow:0 25px 50px rgba(0,0,0,.15);

}

.auction-card img{

height:420px;

object-fit:cover;

}

.event-chip{

background:var(--accent);

color:white;

font-weight:700;

}

/* =====================================
SERVICES
===================================== */

.service-card{

border:none;

background:white;

box-shadow:0 10px 30px rgba(0,0,0,.07);

transition:.3s;

}

.service-card:hover{

transform:translateY(-6px);

}

.service-icon{

color:var(--accent);

}

.service-mark{

display:none;

}

/* =====================================
ABOUT
===================================== */

.about-layout{

align-items:center;

gap:70px;

}

.about-copy h2{

margin-bottom:30px;

}

.values strong{

color:var(--accent);

}

/* =====================================
AREAS
===================================== */

.section.dark{

background:#2c2c2c;

color:white;

}

.section.dark h2{

color:white;

}

.area-item{

background:rgba(255,255,255,.08);

border-radius:8px;

padding:14px;

}

.area-item i{

background:var(--accent);

}

/* =====================================
BREEDS
===================================== */

.breed-card{

border-radius:12px;

overflow:hidden;

box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.breed-card img{

height:260px;

object-fit:cover;

}

/* =====================================
CONTACT
===================================== */

.contact-card{

border-top:5px solid var(--accent);

}

.contact-form-wrap{

border-top:5px solid var(--accent);

}

/* =====================================
FORM
===================================== */

button[type=submit]{

background:var(--accent);

color:white;

}

button[type=submit]:hover{

background:var(--accent-dark);

}

/* =====================================
FOOTER
===================================== */

footer{

background:#4b0f18;

color:white;

}

.footer-top a{

color:white;

}

.footer-top a:hover{

color:#f7d6a2;

}

.footer-security{

border-top:1px solid rgba(255,255,255,.15);

border-bottom:1px solid rgba(255,255,255,.15);

}

.footer-bottom{

opacity:.8;

}

/* =====================================
STATISTICS
===================================== */

.stat-number{

color:var(--accent);

font-weight:800;

font-size:54px;

}

/* =====================================
ICONS
===================================== */

svg{

color:var(--accent);

}

/* Unified annual auction calendar */
.auction-calendar-section{background:#fafafa}.calendar-year-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 auto 42px}.calendar-year-button{appearance:none;border:1px solid rgba(122,31,42,.25);background:#fff;color:var(--accent);border-radius:999px;padding:11px 22px;font:700 14px/1 Inter,sans-serif;cursor:pointer;transition:.2s ease}.calendar-year-button:hover,.calendar-year-button.is-active{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-1px)}.calendar-year-panel{max-width:1180px;margin:0 auto}.calendar-month{display:grid;grid-template-columns:170px minmax(0,1fr);gap:34px;padding:32px 0;border-top:1px solid #e8e2e3}.calendar-month:last-child{border-bottom:1px solid #e8e2e3}.calendar-month-heading{display:flex;align-items:baseline;gap:12px;position:sticky;top:100px;align-self:start}.calendar-month-heading span{font:700 12px/1 Inter,sans-serif;letter-spacing:.16em;color:#a78c90}.calendar-month-heading h3{margin:0;font-family:'DM Serif Display',serif;font-size:31px;font-weight:400;color:var(--accent)}.calendar-month-events{display:grid;gap:18px}.calendar-empty-message{margin:7px 0;color:#8a8082;font-style:italic}.calendar-month.is-empty{padding-top:20px;padding-bottom:20px}.calendar-month.is-empty .calendar-month-heading h3{font-size:24px;color:#9c8589}.calendar-event-card{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:22px;align-items:center;background:#fff;border:1px solid #eadfe1;border-radius:14px;padding:20px;box-shadow:0 8px 28px rgba(60,25,31,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.calendar-event-card:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(60,25,31,.09);border-color:#d8bcc1}.calendar-event-card:has(.calendar-event-poster){grid-template-columns:78px 106px minmax(0,1fr) auto}.calendar-event-card.is-placeholder{border-style:dashed;background:linear-gradient(135deg,#fff,#fbf7f8)}.calendar-event-date{display:grid;place-items:center;border-right:1px solid #eadfe1;padding-right:20px}.calendar-event-date strong{font-family:'DM Serif Display',serif;font-size:36px;line-height:1;color:var(--accent)}.calendar-event-date span{margin-top:5px;font:800 11px/1 Inter,sans-serif;letter-spacing:.14em;color:#6d6264}.calendar-event-poster{display:block;width:106px;height:92px;border-radius:8px;overflow:hidden;background:#f1ecec}.calendar-event-poster img{width:100%;height:100%;object-fit:cover;display:block}.calendar-event-content h4{margin:5px 0 7px;font-family:'DM Serif Display',serif;font-size:23px;font-weight:400;line-height:1.15;color:#342c2e}.calendar-event-label,.calendar-placeholder-label{display:inline-block;font:800 10px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.calendar-placeholder-label{color:#8e6c25}.calendar-event-meta{display:flex;gap:8px 18px;flex-wrap:wrap;color:#665c5e;font-size:13px}.calendar-event-meta span+span:before{content:'•';margin-right:18px;color:#b49fa3}.calendar-event-content p{margin:9px 0 0;color:#776c6e;font-size:13px;line-height:1.55}.calendar-event-actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px;min-width:145px}.calendar-event-actions a{font-size:13px;font-weight:700;color:var(--accent);text-decoration:none}.calendar-event-actions a:hover{text-decoration:underline}.calendar-event-actions .calendar-swiftvee-link{display:inline-flex;justify-content:center;background:var(--accent);color:#fff;border-radius:7px;padding:11px 14px;text-decoration:none;white-space:nowrap}.calendar-event-actions .calendar-swiftvee-link:hover{background:var(--accent-dark);text-decoration:none}.calendar-admin-note{text-align:center;max-width:720px;margin:34px auto 0;color:#85797b;font-size:13px}.calendar-year-panel[hidden]{display:none!important}@media(max-width:850px){.calendar-month{grid-template-columns:1fr;gap:14px}.calendar-month-heading{position:static}.calendar-event-card,.calendar-event-card:has(.calendar-event-poster){grid-template-columns:66px minmax(0,1fr)}.calendar-event-poster{grid-column:2;width:100%;height:190px}.calendar-event-actions{grid-column:2;align-items:flex-start;flex-direction:row;flex-wrap:wrap}.calendar-event-date{grid-row:1 / span 3;align-self:stretch;align-content:start;padding-top:5px}.calendar-event-meta span+span:before{display:none}}@media(max-width:520px){.calendar-year-button{padding:10px 17px}.calendar-event-card,.calendar-event-card:has(.calendar-event-poster){grid-template-columns:1fr;padding:17px}.calendar-event-date{grid-row:auto;display:flex;justify-content:flex-start;gap:8px;border-right:0;border-bottom:1px solid #eadfe1;padding:0 0 13px}.calendar-event-date strong{font-size:29px}.calendar-event-poster,.calendar-event-content,.calendar-event-actions{grid-column:1}.calendar-event-poster{height:210px}.calendar-event-actions{flex-direction:column;align-items:stretch}.calendar-event-actions .calendar-swiftvee-link{text-align:center}.calendar-month-heading h3{font-size:27px}}

/* =====================================
   DESIGN BRIEF 03 — ABOUT SHEARD (FINAL)
   ===================================== */

.about-story-section{
    width:100%;
    max-width:none;
    margin:0;
    padding:100px max(16px,calc((100% - 1220px)/2));
    background:#f8f6f2;
}

.about-story-inner{
    width:100%;
    max-width:1220px;
    margin:0 auto;
}

.about-story-layout{
    display:grid;
    grid-template-columns:minmax(0,11fr) minmax(360px,9fr);
    gap:clamp(44px,5vw,72px);
    align-items:start;
}

.about-story-section .about-heading{
    margin-bottom:30px;
}

.about-story-section .about-heading h2{
    max-width:720px;
    margin:10px 0 16px;
    color:var(--charcoal);
    font-size:clamp(42px,5vw,66px);
    line-height:.98;
    letter-spacing:-.025em;
}

.about-subheading{
    max-width:650px;
    margin:0;
    color:var(--accent);
    font-size:clamp(16px,1.5vw,19px);
    font-weight:700;
    line-height:1.45;
}

.about-gold-divider{
    width:86px;
    height:2px;
    margin:28px 0 0;
    background:var(--gold);
}

.about-story-copy{
    max-width:730px;
    color:#444444;
    font-size:18px;
    line-height:1.82;
}

.about-story-copy p{
    margin:0 0 22px;
    color:#444444;
}

.about-story-copy p:first-child{
    color:#333333;
    font-size:20px;
    font-weight:600;
}

.about-learn-more{
    display:inline-flex;
    min-height:52px;
    align-items:center;
    justify-content:center;
    margin:8px 0 30px;
    padding:0 28px;
    border:1px solid var(--gold);
    border-radius:8px;
    background:var(--gold);
    color:#211f1b;
    font-size:15px;
    font-weight:800;
    text-decoration:none;
    transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease;
}

.about-learn-more:hover,
.about-learn-more:focus-visible{
    transform:translateY(-2px);
    background:#d1ad69;
    box-shadow:0 12px 26px rgba(93,68,22,.16);
}

.about-trust-panel{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    max-width:730px;
}

.about-trust-badge{
    position:relative;
    display:flex;
    min-height:66px;
    align-items:center;
    padding:14px 16px 14px 38px;
    border:1px solid rgba(38,34,31,.1);
    border-radius:12px;
    background:rgba(255,255,255,.78);
    color:#34312e;
    font-size:14px;
    font-weight:700;
    line-height:1.4;
    box-shadow:0 8px 22px rgba(38,34,31,.045);
}

.about-trust-badge::before{
    content:"";
    position:absolute;
    left:16px;
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--gold);
    box-shadow:0 0 0 4px rgba(198,161,91,.14);
}

.about-primary-image{
    margin:0;
}

.about-primary-image img,
.about-action-image img{
    display:block;
    width:100%;
    height:auto;
    border-radius:16px;
    box-shadow:0 18px 42px rgba(38,34,31,.13);
}

.about-services{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:72px;
}

.about-service-card{
    position:relative;
    display:flex;
    min-height:196px;
    flex-direction:column;
    padding:25px 23px 23px;
    overflow:hidden;
    border:1px solid rgba(38,34,31,.1);
    border-radius:14px;
    background:#fff;
    box-shadow:0 12px 34px rgba(38,34,31,.07);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.about-service-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:3px;
    background:var(--gold);
    opacity:.9;
}

.about-service-card:hover{
    transform:translateY(-4px);
    border-color:rgba(198,161,91,.45);
    box-shadow:0 20px 44px rgba(38,34,31,.12);
}

.about-service-icon{
    display:grid;
    width:48px;
    height:48px;
    margin-bottom:18px;
    place-items:center;
    border-radius:12px;
    background:rgba(198,161,91,.13);
    color:var(--accent);
}

.about-service-icon svg{
    width:27px;
    height:27px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.about-service-card h3{
    margin:0 0 9px;
    color:var(--charcoal);
    font:400 23px/1.1 'DM Serif Display',serif;
}

.about-service-card p{
    margin:auto 0 0;
    color:#5d5852;
    font-size:14px;
    line-height:1.58;
}

.about-action-image{
    margin:72px 0 0;
}

.about-action-image figcaption{
    display:flex;
    flex-direction:column;
    gap:6px;
    margin:0 0 18px;
}

.about-action-image figcaption span{
    color:var(--gold);
    font-size:12px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.about-action-image figcaption strong{
    color:var(--charcoal);
    font:400 clamp(24px,2.4vw,34px)/1.15 'DM Serif Display',serif;
}

@media(max-width:1000px){
    .about-story-layout{
        grid-template-columns:1fr;
        gap:46px;
    }

    .about-primary-image{
        max-width:760px;
    }

    .about-services{
        grid-template-columns:repeat(2,minmax(0,1fr));
        margin-top:58px;
    }
}

@media(max-width:760px){
    .about-story-section{
        padding-top:76px;
        padding-bottom:76px;
    }

    .about-story-section .about-heading h2{
        font-size:clamp(40px,11vw,52px);
    }

    .about-trust-panel{
        grid-template-columns:1fr;
    }

    .about-services{
        gap:15px;
    }
}

@media(max-width:560px){
    .about-story-layout{
        gap:36px;
    }

    .about-story-copy,
    .about-story-copy p:first-child{
        font-size:17px;
    }

    .about-learn-more{
        width:100%;
        padding-inline:18px;
    }

    .about-services{
        grid-template-columns:1fr;
        margin-top:50px;
    }

    .about-service-card{
        min-height:0;
        padding:22px;
    }

    .about-service-card p{
        margin-top:0;
    }

    .about-action-image{
        margin-top:50px;
    }
}


/* ==========================================================
   MOBILE / TABLET AUCTION CALENDAR STABILISATION
   2026-08-13
   Keeps the desktop calendar intact while giving phones and
   tablets an intentional stacked layout with touch-friendly UI.
   ========================================================== */

#auctions{
    scroll-margin-top:110px;
}

@media (max-width: 900px){
    .auction-calendar-section{
        padding-left:20px;
        padding-right:20px;
    }

    .auction-calendar-section .section-title{
        margin-bottom:30px;
    }

    .auction-calendar-section .section-title h2{
        font-size:clamp(34px,7vw,46px);
        line-height:1.08;
    }

    .auction-calendar-section .section-title p{
        max-width:680px;
        margin-left:auto;
        margin-right:auto;
        line-height:1.65;
    }

    /* Years stay on one touch-scrollable row rather than wrapping. */
    .calendar-year-tabs{
        justify-content:flex-start;
        flex-wrap:nowrap;
        width:100%;
        max-width:100%;
        gap:10px;
        margin:0 auto 34px;
        padding:2px 2px 10px;
        overflow-x:auto;
        overflow-y:hidden;
        overscroll-behavior-inline:contain;
        scroll-snap-type:x proximity;
        scrollbar-width:thin;
        -webkit-overflow-scrolling:touch;
    }

    .calendar-year-button{
        flex:0 0 auto;
        min-height:44px;
        padding:11px 20px;
        scroll-snap-align:start;
        white-space:nowrap;
    }

    .calendar-year-panel{
        width:100%;
        max-width:760px;
    }

    .calendar-month{
        grid-template-columns:1fr;
        gap:16px;
        padding:28px 0;
    }

    .calendar-month-heading{
        position:static;
        top:auto;
        gap:10px;
        align-items:center;
    }

    .calendar-month-heading h3{
        font-size:30px;
        line-height:1.1;
    }

    .calendar-month-events{
        gap:16px;
    }

    /* Tablet card: date rail + content stack. */
    .calendar-event-card,
    .calendar-event-card:has(.calendar-event-poster){
        grid-template-columns:72px minmax(0,1fr);
        grid-template-areas:
            "date content"
            "date poster"
            "date actions";
        gap:16px 20px;
        align-items:start;
        padding:20px;
    }

    .calendar-event-date{
        grid-area:date;
        grid-row:auto;
        align-self:stretch;
        align-content:start;
        justify-items:center;
        border-right:1px solid #eadfe1;
        border-bottom:0;
        padding:4px 18px 0 0;
    }

    .calendar-event-content{
        grid-area:content;
        min-width:0;
    }

    .calendar-event-content h4{
        margin-top:6px;
        font-size:25px;
        line-height:1.18;
    }

    .calendar-event-meta{
        gap:7px 14px;
        line-height:1.45;
    }

    .calendar-event-meta span+span:before{
        display:none;
    }

    /* Preserve the actual poster artwork: no crop, stretch or forced aspect. */
    .calendar-event-poster{
        grid-area:poster;
        width:min(100%,460px);
        height:auto;
        max-height:none;
        border-radius:10px;
        overflow:hidden;
        background:#f4f0f0;
    }

    .calendar-event-poster img{
        width:100%;
        height:auto;
        max-height:none;
        object-fit:contain;
        object-position:center;
    }

    .calendar-event-actions{
        grid-area:actions;
        min-width:0;
        align-items:flex-start;
        flex-direction:row;
        flex-wrap:wrap;
        gap:10px;
    }

    .calendar-event-actions a{
        min-height:44px;
        display:inline-flex;
        align-items:center;
    }

    .calendar-event-actions .calendar-swiftvee-link{
        min-height:44px;
        padding:11px 16px;
    }

    .calendar-month.is-empty{
        padding-top:16px;
        padding-bottom:16px;
    }

    .calendar-empty-message{
        margin:0;
        padding:4px 0 0;
    }
}

@media (max-width: 600px){
    .auction-calendar-section{
        padding-top:72px !important;
        padding-bottom:72px !important;
        padding-left:16px;
        padding-right:16px;
    }

    .auction-calendar-section .section-title{
        text-align:left;
        margin-bottom:26px;
    }

    .auction-calendar-section .section-title h2{
        margin-top:8px;
        font-size:36px;
        line-height:1.04;
    }

    .auction-calendar-section .section-title h2:after{
        margin-left:0;
    }

    .auction-calendar-section .section-title p{
        margin-left:0;
        margin-right:0;
        font-size:15px;
        line-height:1.65;
    }

    .calendar-year-tabs{
        margin-bottom:26px;
        padding-bottom:8px;
    }

    .calendar-year-button{
        min-height:46px;
        padding:11px 18px;
        font-size:14px;
    }

    .calendar-month{
        gap:12px;
        padding:24px 0;
    }

    .calendar-month-heading{
        gap:9px;
    }

    .calendar-month-heading span{
        font-size:11px;
    }

    .calendar-month-heading h3,
    .calendar-month.is-empty .calendar-month-heading h3{
        font-size:27px;
    }

    /* Phone card becomes a deliberate single-column component. */
    .calendar-event-card,
    .calendar-event-card:has(.calendar-event-poster){
        grid-template-columns:minmax(0,1fr);
        grid-template-areas:
            "date"
            "poster"
            "content"
            "actions";
        gap:15px;
        width:100%;
        min-width:0;
        padding:17px;
        border-radius:13px;
    }

    .calendar-event-date{
        grid-area:date;
        display:flex;
        align-items:baseline;
        justify-content:flex-start;
        gap:8px;
        min-width:0;
        border-right:0;
        border-bottom:1px solid #eadfe1;
        padding:0 0 12px;
    }

    .calendar-event-date strong{
        font-size:32px;
    }

    .calendar-event-date span{
        margin-top:0;
        font-size:11px;
    }

    .calendar-event-poster{
        grid-area:poster;
        width:100%;
        height:auto;
        max-height:none;
        margin:0;
        border-radius:9px;
    }

    .calendar-event-poster img{
        width:100%;
        height:auto;
        max-height:none;
        object-fit:contain;
    }

    .calendar-event-content{
        grid-area:content;
        width:100%;
        min-width:0;
    }

    .calendar-event-content h4{
        margin:6px 0 9px;
        font-size:24px;
        line-height:1.15;
        overflow-wrap:anywhere;
    }

    .calendar-event-meta{
        display:grid;
        gap:6px;
        width:100%;
        font-size:14px;
        line-height:1.45;
    }

    .calendar-event-content p{
        margin-top:10px;
        font-size:14px;
        line-height:1.6;
    }

    .calendar-event-actions{
        grid-area:actions;
        width:100%;
        min-width:0;
        display:grid;
        grid-template-columns:1fr;
        gap:9px;
    }

    .calendar-event-actions a,
    .calendar-event-actions .calendar-swiftvee-link{
        width:100%;
        min-height:48px;
        justify-content:center;
        text-align:center;
        border-radius:8px;
    }

    .calendar-event-actions > a:not(.calendar-swiftvee-link){
        border:1px solid rgba(122,31,42,.24);
        padding:10px 14px;
        background:#fff;
    }

    .calendar-admin-note{
        margin-top:28px;
        font-size:12px;
        line-height:1.55;
    }
}

@media (max-width: 380px){
    .auction-calendar-section{
        padding-left:13px;
        padding-right:13px;
    }

    .calendar-event-card,
    .calendar-event-card:has(.calendar-event-poster){
        padding:15px;
    }

    .calendar-event-content h4{
        font-size:22px;
    }
}
