/* Alectown Classifieds — single ad page */
/*.alectown-single {*/
/*    --acl-paper: #f5f5f5;*/
/*    --acl-card: #EDF2F7;*/
/*    --acl-ink: #031b4b;*/
/*    --acl-ink-soft: #173766;*/
/*    --acl-gold: #032967;*/
/*    --acl-gold-deep: #011746;*/
/*    --acl-rust: #2057a2;*/
/*    --acl-olive: #174b8f;*/
/*    --acl-line: #c7d3e3;*/
/*    max-width: var(--global-content-width, 1260px);*/
/*    padding-left: var(--global-content-edge-padding);*/
/*    padding-right: var(--global-content-edge-padding);*/
/*    width: 100%;*/
/*    margin: 0 auto;*/
/*	color: var(--acl-ink);*/
/*	font-family: inherit;*/
/*}*/
/*.alectown-single * { box-sizing: border-box; }*/

/* Breadcrumb */
/*.alectown-single-crumb {*/
/*	font-size: 13px;*/
/*	color: var(--acl-ink-soft);*/
/*	margin-bottom: 22px;*/
/*	display: flex;*/
/*	flex-wrap: wrap;*/
/*	align-items: center;*/
/*	gap: 7px;*/
/*}*/
/*.alectown-single-crumb a { color: var(--acl-gold-deep); text-decoration: none; }*/
/*.alectown-single-crumb a:hover { text-decoration: underline; }*/
/*.alectown-single-crumb span[aria-hidden] { color: var(--acl-line); }*/

/* Layout */
/*.alectown-single-grid {*/
/*	display: grid;*/
/*	grid-template-columns: 1.35fr 1fr;*/
/*	gap: 32px;*/
/*	align-items: start;*/
/*}*/

/* Gallery */
/*.alectown-gallery-main {*/
/*	position: relative;*/
/*	border-radius: 14px;*/
/*	overflow: hidden;*/
/*	background: var(--acl-paper);*/
/*	border: 1px solid var(--acl-line);*/
/*	aspect-ratio: 4 / 3;*/
/*	display: flex;*/
/*	align-items: center;*/
/*	justify-content: center;*/
/*}*/
/*.alectown-main-img {*/
/*	width: 100%;*/
/*	height: 100%;*/
/*	object-fit: cover;*/
/*	transition: opacity 0.15s ease;*/
/*}*/
/*.alectown-gallery-empty { color: var(--acl-ink-soft); font-size: 14px; }*/
/*.alectown-gallery-badge {*/
/*	position: absolute; top: 12px; left: 12px; z-index: 2;*/
/*	background: var(--acl-gold-deep); color: #fff;*/
/*	font-size: 12px; font-weight: 700; padding: 5px 11px; border-radius: 6px;*/
/*}*/
/*.alectown-gallery-arrow {*/
/*	position: absolute; top: 50%; transform: translateY(-50%);*/
/*	width: 40px; height: 40px; border-radius: 50%; border: none;*/
/*	background: rgba(43, 33, 24, 0.55); color: #fff;*/
/*	font-size: 24px; line-height: 1; cursor: pointer; z-index: 2;*/
/*	display: flex; align-items: center; justify-content: center;*/
/*	transition: background 0.15s ease;*/
/*	padding: 0;*/
/*}*/
/*.alectown-gallery-arrow:hover { background: rgba(43, 33, 24, 0.8); }*/
/*.alectown-gallery-arrow.prev { left: 12px; }*/
/*.alectown-gallery-arrow.next { right: 12px; }*/
/*.alectown-gallery-counter {*/
/*	position: absolute; bottom: 12px; right: 12px; z-index: 2;*/
/*	background: rgba(43, 33, 24, 0.65); color: #fff;*/
/*	font-size: 12px; padding: 4px 10px; border-radius: 20px;*/
/*}*/
/*.alectown-gallery-thumbs {*/
/*	display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap;*/
/*}*/
/*.alectown-thumb {*/
/*	width: 72px; height: 72px; padding: 0; border-radius: 8px; overflow: hidden;*/
/*	border: 2px solid transparent; background: none; cursor: pointer;*/
/*	transition: border-color 0.15s ease;*/
/*}*/
/*.alectown-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }*/
/*.alectown-thumb.active { border-color: var(--acl-gold); }*/

/* Info column */
/*.alectown-single-info {*/
/*	background: var(--acl-card);*/
/*	border: 1px solid var(--acl-line);*/
/*	border-radius: 14px;*/
/*	padding: 26px 24px;*/
/*	position: sticky;*/
/*	top: 24px;*/
/*}*/
/*.alectown-info-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }*/
/*.alectown-info-type {*/
/*	font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 6px;*/
/*}*/
/*.alectown-info-type.is-sale { background: rgba(87, 99, 63, 0.12); color: var(--acl-olive); }*/
/*.alectown-info-type.is-wanted { background: rgba(163, 78, 42, 0.12); color: var(--acl-rust); }*/
/*.alectown-info-cat { font-size: 13px; color: var(--acl-ink-soft); }*/

/*.alectown-info-title {*/
/*	font-size: clamp(22px, 3vw, 28px);*/
/*	line-height: 1.18;*/
/*	margin: 0 0 14px;*/
/*}*/
/*.alectown-info-price {*/
/*	font-size: 28px;*/
/*	font-weight: 700;*/
/*	color: var(--acl-gold-deep);*/
/*	margin-bottom: 14px;*/
/*	display: flex; align-items: baseline; gap: 10px;*/
/*}*/
/*.alectown-info-neg {*/
/*	font-size: 12px; font-weight: 600; color: var(--acl-ink-soft);*/
/*	background: var(--acl-paper); padding: 3px 9px; border-radius: 20px;*/
/*}*/
/*.alectown-info-loc {*/
/*	display: flex; align-items: center; gap: 6px;*/
/*	color: var(--acl-ink-soft); font-size: 14px; margin-bottom: 18px;*/
/*}*/
/*.alectown-info-loc svg { width: 16px; height: 16px; stroke: var(--acl-ink-soft); }*/

/*.alectown-info-desc {*/
/*	font-size: 15px; line-height: 1.65; color: var(--acl-ink);*/
/*	border-top: 1px solid var(--acl-line);*/
/*	padding-top: 18px; margin-bottom: 22px;*/
/*}*/
/*.alectown-info-desc p { margin: 0 0 12px; }*/

/* CTA */
/*.alectown-info-cta { border-top: 1px solid var(--acl-line); padding-top: 18px; }*/
/*.alectown-info-seller { font-size: 14px; color: var(--acl-ink-soft); margin: 0 0 14px; }*/
/*.alectown-info-seller strong { color: var(--acl-ink); }*/
/*.alectown-cta {*/
/*	display: flex; align-items: center; justify-content: center; gap: 9px;*/
/*	width: 100%; padding: 14px; border-radius: 10px;*/
/*	font-size: 15.5px; font-weight: 600; text-decoration: none;*/
/*	margin-bottom: 10px; transition: transform 0.12s ease, box-shadow 0.12s ease, opacity 0.12s ease;*/
/*}*/
/*.alectown-cta svg { width: 19px; height: 19px; }*/
/*.alectown-cta-phone {*/
/*	background: var(--acl-gold-deep); color: #fff;*/
/*	box-shadow: 0 6px 16px rgba(150, 105, 28, 0.3);*/
/*}*/
/*.alectown-cta-phone svg { stroke: #fff; }*/
/*.alectown-cta-phone:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(150, 105, 28, 0.4); }*/
/*.alectown-cta-email {*/
/*	background: #fff; color: var(--acl-olive); border: 1.5px solid var(--acl-olive);*/
/*}*/
/*.alectown-cta-email svg { stroke: var(--acl-olive); }*/
/*.alectown-cta-email:hover { background: rgba(87, 99, 63, 0.06); }*/
/*.alectown-info-safety {*/
/*	font-size: 12px; color: var(--acl-ink-soft); line-height: 1.5;*/
/*	margin: 14px 0 0; text-align: center;*/
/*}*/

/* Responsive */
/*@media (max-width: 860px) {*/
/*	.alectown-single-grid { grid-template-columns: 1fr; gap: 24px; }*/
/*	.alectown-single-info { position: static; }*/
/*}*/
/* Alectown Classifieds — single ad page */

.alectown-single {
    --acl-paper: #f5f5f5;
    --acl-card: #EDF2F7;
    --acl-ink: #031b4b;
    --acl-ink-soft: #173766;
    --acl-gold: #032967;
    --acl-gold-deep: #011746;
    --acl-rust: #2057a2;
    --acl-olive: #174b8f;
    --acl-line: #c7d3e3;

    max-width: var(--global-content-width, 1260px);
    padding-left: var(--global-content-edge-padding);
    padding-right: var(--global-content-edge-padding);
    width: 100%;
    margin: 0 auto;

    color: var(--acl-ink);
    font-family: inherit;
    margin-block: 16px;
}

.alectown-single * {
    box-sizing: border-box;
}


/* =========================================================
   Breadcrumb
   ========================================================= */

.alectown-single-crumb {
    font-size: 13px;
    color: var(--acl-ink-soft);
    margin-bottom: 22px;

    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}

.alectown-single-crumb a {
    color: var(--acl-gold-deep);
    text-decoration: none;
}

.alectown-single-crumb a:hover {
    text-decoration: underline;
}

.alectown-single-crumb span[aria-hidden] {
    color: var(--acl-line);
}


/* =========================================================
   Main Layout
   ========================================================= */

.alectown-single-grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 32px;
    align-items: start;
}


/* =========================================================
   Gallery
   ========================================================= */

.alectown-gallery-main {
    position: relative;

    width: 100%;
    aspect-ratio: 4 / 3;

    border-radius: 14px;
    overflow: hidden;

    background: var(--acl-paper);
    border: 1px solid var(--acl-line);

    /*
     * Important:
     * Images are positioned absolutely and slide using
     * transform. Do not use flex here.
     */
    display: block;
}


/* =========================================================
   Main Gallery Image
   ========================================================= */

.alectown-gallery-main .alectown-main-img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    /*
     * Main image starts in the center.
     */
    transform: translate3d(0, 0, 0);

    /*
     * Smooth horizontal sliding.
     */
    transition:
        transform 380ms cubic-bezier(0.4, 0, 0.2, 1);

    /*
     * Helps browser optimize transform animation.
     */
    will-change: transform;

    /*
     * Reduce flickering / rendering artifacts.
     */
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;

    /*
     * JS controls the gallery.
     */
    pointer-events: none;
}


/* =========================================================
   Incoming Sliding Image
   ========================================================= */

.alectown-gallery-main .alectown-slide-image {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    /*
     * New image starts outside the right side.
     * JS changes this to -100% for previous image.
     */
    transform: translate3d(100%, 0, 0);

    /*
     * Same timing as main image.
     * Both images therefore move together.
     */
    transition:
        transform 380ms cubic-bezier(0.4, 0, 0.2, 1);

    will-change: transform;

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;

    pointer-events: none;
}


/* =========================================================
   Empty Gallery
   ========================================================= */

.alectown-gallery-empty {
    color: var(--acl-ink-soft);
    font-size: 14px;
}


/* =========================================================
   Gallery Badge
   ========================================================= */

.alectown-gallery-badge {
    position: absolute;

    top: 12px;
    left: 12px;

    z-index: 1;

    background: var(--acl-gold-deep);
    color: #fff;

    font-size: 12px;
    font-weight: 700;

    padding: 5px 11px;

    border-radius: 6px;

    pointer-events: none;
}


/* =========================================================
   Gallery Navigation Arrows
   ========================================================= */

.alectown-gallery-arrow {
    position: absolute;

    top: 50%;

    width: 40px;
    height: 40px;

    transform: translateY(-50%);

    border-radius: 50%;
    border: none;

    background: rgba(43, 33, 24, 0.55);
    color: #fff;

    font-size: 24px;
    line-height: 1;

    cursor: pointer;

    z-index: 1;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    transition:
        background 0.15s ease;
}

.alectown-gallery-arrow:hover {
    background: rgba(43, 33, 24, 0.8);
}

.alectown-gallery-arrow.prev {
    left: 12px;
}

.alectown-gallery-arrow.next {
    right: 12px;
}


/* =========================================================
   Gallery Counter
   ========================================================= */

.alectown-gallery-counter {
    position: absolute;

    bottom: 12px;
    right: 12px;

    z-index: 1;

    background: rgba(43, 33, 24, 0.65);
    color: #fff;

    font-size: 12px;

    padding: 4px 10px;

    border-radius: 20px;

    pointer-events: none;
}


/* =========================================================
   Gallery Thumbnails
   ========================================================= */

.alectown-gallery-thumbs {
    display: flex;

    gap: 10px;

    margin-top: 12px;

    flex-wrap: wrap;
}


/* Individual thumbnail */
.alectown-thumb {
    width: 72px;
    height: 72px;

    padding: 0;

    border-radius: 8px;

    overflow: hidden;

    border: 2px solid transparent;

    background: none;

    cursor: pointer;

    transition:
        border-color 0.15s ease,
        transform 0.15s ease;
}


/* Thumbnail image */
.alectown-thumb img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}


/* Thumbnail hover */
.alectown-thumb:hover {
    transform: translateY(-1px);
}


/* Active thumbnail */
.alectown-thumb.active {
    border-color: var(--acl-gold);
}


/* =========================================================
   Info Column
   ========================================================= */

.alectown-single-info {
    background: var(--acl-card);

    border: 1px solid var(--acl-line);

    border-radius: 14px;

    padding: 26px 24px;

    position: sticky;
    top: 24px;
}


/* =========================================================
   Info Meta
   ========================================================= */

.alectown-info-meta {
    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 12px;
}


.alectown-info-type {
    font-size: 12px;

    font-weight: 700;

    padding: 4px 10px;

    border-radius: 6px;
}


.alectown-info-type.is-sale {
    background: rgba(87, 99, 63, 0.12);

    color: var(--acl-olive);
}


.alectown-info-type.is-wanted {
    background: rgba(163, 78, 42, 0.12);

    color: var(--acl-rust);
}


.alectown-info-cat {
    font-size: 13px;

    color: var(--acl-ink-soft);
}


/* =========================================================
   Title
   ========================================================= */

.alectown-info-title {
    font-size: clamp(22px, 3vw, 28px);

    line-height: 1.18;

    margin: 0 0 14px;
}


/* =========================================================
   Price
   ========================================================= */

.alectown-info-price {
    font-size: 28px;

    font-weight: 700;

    color: var(--acl-gold-deep);

    margin-bottom: 14px;

    display: flex;

    align-items: center;

    gap: 10px;
}


.alectown-info-neg {
    font-size: 12px;

    font-weight: 600;

    color: var(--acl-ink-soft);

    background: var(--acl-paper);

    padding: 3px 9px;

    border-radius: 20px;
}


/* =========================================================
   Location
   ========================================================= */

.alectown-info-loc {
    display: flex;

    align-items: center;

    gap: 6px;

    color: var(--acl-ink-soft);

    font-size: 14px;

    margin-bottom: 18px;
}


.alectown-info-loc svg {
    width: 16px;
    height: 16px;

    stroke: var(--acl-ink-soft);
}


/* =========================================================
   Description
   ========================================================= */

.alectown-info-desc {
    font-size: 15px;

    line-height: 1.65;

    color: var(--acl-ink);

    border-top: 1px solid var(--acl-line);
    padding-top: 15px;
    margin-bottom: 15px;
}


.alectown-info-desc p {
    margin: 0 0 12px;
}


/* =========================================================
   CTA
   ========================================================= */

.alectown-info-cta {
    border-top: 1px solid var(--acl-line);

    padding-top: 18px;
}


.alectown-info-seller {
    font-size: 14px;

    color: var(--acl-ink-soft);

    margin: 0 0 14px;
}


.alectown-info-seller strong {
    color: var(--acl-ink);
}


/* CTA buttons */
.alectown-cta {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    width: 100%;

    padding: 14px;

    border-radius: 10px;

    font-size: 15.5px;

    font-weight: 600;

    text-decoration: none;

    margin-bottom: 10px;

    transition:
        transform 0.12s ease,
        box-shadow 0.12s ease,
        opacity 0.12s ease;
}


.alectown-cta svg {
    width: 19px;
    height: 19px;
}


/* Phone CTA */
.alectown-cta-phone {
    background: var(--acl-gold-deep);

    color: #fff;

    box-shadow:
        0 6px 16px rgba(150, 105, 28, 0.3);
}


.alectown-cta-phone svg {
    stroke: #fff;
}


.alectown-cta-phone:hover {
    color: #FFF;
    transform: translateY(-1px);
    box-shadow:
        0 8px 20px rgba(150, 105, 28, 0.4);
}


/* Email CTA */
.alectown-cta-email {
    background: #fff;

    color: var(--acl-olive);

    border: 1.5px solid var(--acl-olive);
}


.alectown-cta-email svg {
    stroke: var(--acl-olive);
}


.alectown-cta-email:hover {
    background: rgba(87, 99, 63, 0.06);
}


/* =========================================================
   Safety Text
   ========================================================= */

.alectown-info-safety {
    font-size: 12px;

    color: var(--acl-ink-soft);

    line-height: 1.5;

    margin: 14px 0 0;

    text-align: center;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 860px) {

    .alectown-single-grid {
        grid-template-columns: 1fr;

        gap: 24px;
    }

    .alectown-single-info {
        position: static;
        padding: 16px;
    }
}


/* =========================================================
   Optional Mobile Gallery Adjustments
   ========================================================= */

@media (max-width: 600px) {

    .alectown-gallery-main {
        border-radius: 12px;
    }

    .alectown-gallery-arrow {
        width: 36px;
        height: 36px;

        font-size: 22px;
    }

    .alectown-gallery-arrow.prev {
        left: 8px;
    }

    .alectown-gallery-arrow.next {
        right: 8px;
    }

    .alectown-gallery-badge {
        top: 10px;
        left: 10px;
    }

    .alectown-gallery-counter {
        right: 10px;
        bottom: 10px;
    }

    .alectown-gallery-thumbs {
        gap: 8px;
    }

    .alectown-thumb {
        width: 64px;
        height: 64px;
    }
}