/* seoarticlemanager — styles front, indépendants du thème (Classic / Bootstrap 4, Hummingbird / Bootstrap 5, thèmes dérivés) */
.sam-blog { --sam-accent: var(--bs-primary, var(--primary, #24b9d7)); }
.sam-blog__intro { max-width: 60rem; margin-bottom: 2rem; color: #555; }
.sam-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.sam-grid--compact { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.sam-grid__item { min-width: 0; }
.sam-grid__item > .sam-card { height: 100%; }
.sam-blog__empty { padding: 3rem 0; text-align: center; color: #777; }

.sam-card { display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(0, 0, 0, .08); border-radius: .75rem; overflow: hidden; transition: transform .15s ease, box-shadow .15s ease; }
.sam-card:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0, 0, 0, .08); }
.sam-card__media img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; height: auto; }
.sam-widget .card-img-top { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; height: auto; } /* bandeau accueil : images de format libre recadrees en 3:2 */
.sam-card__category { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--sam-accent); text-decoration: none; margin-bottom: .35rem; }
.sam-card__title a { color: inherit; text-decoration: none; }
.sam-card__title a:hover { text-decoration: underline; }
.sam-card__excerpt { font-size: .925rem; }

.sam-sidebar__block { margin-bottom: 2rem; padding: 1.25rem; background: rgba(0, 0, 0, .025); border-radius: .75rem; }
.sam-sidebar__title { text-transform: uppercase; letter-spacing: .06em; font-size: .8rem; margin-bottom: .75rem; }
.sam-sidebar__list li { padding: .3rem 0; }
.sam-sidebar__list a { color: inherit; text-decoration: none; }
.sam-sidebar__list a.active, .sam-sidebar__list a:hover { text-decoration: underline; }

.sam-article { max-width: 52rem; }
.sam-article__category { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--sam-accent); text-decoration: none; }
.sam-article__title { font-size: clamp(1.75rem, 3.5vw, 2.5rem); line-height: 1.15; margin: .5rem 0 .75rem; }
.sam-article__cover { margin: 1.5rem 0 2rem; }
.sam-article__cover img { width: 100%; height: auto; border-radius: .75rem; aspect-ratio: 3 / 2; object-fit: cover; }
.sam-article__content { font-size: 1.0625rem; line-height: 1.7; }
.sam-article__content h2 { font-size: 1.5rem; margin: 2.25rem 0 .9rem; }
.sam-article__content h3 { font-size: 1.2rem; margin: 1.6rem 0 .6rem; }
.sam-article__content p { margin-bottom: 1.1rem; }
.sam-article__content ul, .sam-article__content ol { margin-bottom: 1.1rem; padding-left: 1.4rem; }
.sam-article__content li { margin-bottom: .35rem; }
.sam-article__content table { width: 100%; border-collapse: collapse; margin: 1.25rem 0; font-size: .95rem; }
.sam-article__content th, .sam-article__content td { border: 1px solid rgba(0, 0, 0, .12); padding: .55rem .7rem; vertical-align: top; }
.sam-article__content th { background: rgba(0, 0, 0, .04); text-align: left; }
.sam-article__content blockquote { border-left: 3px solid var(--sam-accent); padding: .25rem 1rem; color: #555; margin: 1.25rem 0; }
.sam-article__content a { text-decoration: underline; text-underline-offset: .15em; }
.sam-figure { margin: 1.75rem 0; text-align: center; }
.sam-figure img { max-width: 100%; height: auto; border-radius: .6rem; }
.sam-figure figcaption { font-size: .85rem; color: #777; margin-top: .5rem; }
.sam-figure--left, .sam-article__content img.sam-img--left { float: left; margin: .35rem 1.75rem 1rem 0; text-align: left; }
.sam-figure--right, .sam-article__content img.sam-img--right { float: right; margin: .35rem 0 1rem 1.75rem; text-align: right; }
.sam-figure--center, .sam-article__content img.sam-img--center { display: block; margin-left: auto; margin-right: auto; }
.sam-figure--none { text-align: left; }
.sam-figure[style] img { width: 100%; }
.sam-article__content h2, .sam-article__content h3, .sam-article__content h4, .sam-article__content table { clear: both; }
.sam-article__content::after { content: ""; display: block; clear: both; }
@media (max-width: 640px) {
  .sam-figure--left, .sam-figure--right, .sam-article__content img.sam-img--left, .sam-article__content img.sam-img--right { float: none; width: 100% !important; margin: 1.5rem 0; text-align: center; }
}

.sam-faq { margin-top: 2.5rem; }
.sam-faq__item { border: 1px solid rgba(0, 0, 0, .1); border-radius: .6rem; padding: .75rem 1rem; margin-bottom: .6rem; }
.sam-faq__question { cursor: pointer; list-style: none; }
.sam-faq__question::-webkit-details-marker { display: none; }
.sam-faq__question h3 { display: inline; font-size: 1.05rem; margin: 0; }
.sam-faq__question::after { content: "+"; float: right; font-weight: 600; }
.sam-faq__item[open] .sam-faq__question::after { content: "–"; }
.sam-faq__answer { padding-top: .6rem; }

.sam-related__title, .sam-widget__title { margin-bottom: 1.25rem; }
.sam-pagination .pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem; list-style: none; padding: 0; }
.sam-pagination .page-link { color: inherit; display: block; padding: .4rem .75rem; border: 1px solid rgba(0, 0, 0, .12); border-radius: .35rem; }
.sam-pagination .active .page-link { background: var(--sam-accent); border-color: var(--sam-accent); color: #fff; }

@media (max-width: 991px) { .sam-sidebar { margin-top: 2.5rem; } }

/* bloc « Produits recommandés » (2.1) — indépendant du thème */
.sam-products { margin: 2.5rem 0; padding: 1.5rem; border: 1px solid rgba(0, 0, 0, .08); border-radius: .75rem; background: rgba(0, 0, 0, .015); clear: both; }
.sam-products__title { margin: 0 0 1.25rem; }
.sam-products__list { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.sam-products__item { display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(0, 0, 0, .07); border-radius: .6rem; overflow: hidden; transition: box-shadow .15s ease, transform .15s ease; }
.sam-products__item:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0, 0, 0, .08); }
.sam-products__media img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; background: #fff; }
.sam-products__body { display: flex; flex-direction: column; gap: .35rem; padding: .75rem .85rem 1rem; flex: 1; }
.sam-products__brand { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--sam-accent); }
.sam-products__name { font-size: .95rem; line-height: 1.3; margin: 0; }
.sam-products__name a { color: inherit; text-decoration: none; }
.sam-products__name a:hover { text-decoration: underline; }
.sam-products__price { font-weight: 600; }
.sam-products__cta { margin-top: auto; align-self: flex-start; }

/* bandeau accueil (sexdoll.fr 2026-10-28) : 5 articles sur une ligne sur ordinateur ; en dessous le 5e est masque (rangees completes) */
@media (min-width: 1200px) { .sam-widget .sam-grid--compact { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 1199.98px) { .sam-widget .sam-grid__item:nth-child(n+5) { display: none; } }
