/**
 * Practice360 SEO Frontend Styles
 */

/* Breadcrumbs */
.p360-breadcrumbs {
    font-size: 14px;
    padding: 10px 0;
    margin-bottom: 20px;
}

.p360-breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.p360-breadcrumbs a:hover {
    text-decoration: underline;
}

.p360-breadcrumbs .separator {
    margin: 0 8px;
    opacity: 0.5;
}

.p360-breadcrumbs .current {
    font-weight: 500;
}

/* Local Business Info */
.p360-business-info {
    padding: 20px;
    background: #f9f9f9;
    border-radius: 8px;
    margin: 20px 0;
}

.p360-business-info h3 {
    margin-top: 0;
    margin-bottom: 15px;
}

.p360-business-info p {
    margin: 8px 0;
}

.p360-business-info .dashicons {
    margin-right: 8px;
    opacity: 0.7;
}

/* Business Hours */
.p360-business-hours {
    margin: 20px 0;
}

.p360-business-hours table {
    width: 100%;
    border-collapse: collapse;
}

.p360-business-hours th,
.p360-business-hours td {
    padding: 8px 12px;
    text-align: left;
    border-bottom: 1px solid #eee;
}

.p360-business-hours th {
    font-weight: 500;
    width: 40%;
}

.p360-hours-today {
    background: #f0f7ff;
}

.p360-hours-closed {
    color: #999;
}

/* Business Map */
.p360-business-map {
    margin: 20px 0;
}

.p360-business-map iframe {
    width: 100%;
    height: 300px;
    border: 0;
    border-radius: 8px;
}

/* Table of Contents (if added) */
.p360-toc {
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
}

.p360-toc h4 {
    margin-top: 0;
    margin-bottom: 15px;
}

.p360-toc ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.p360-toc li {
    margin: 8px 0;
}

.p360-toc li a {
    color: inherit;
    text-decoration: none;
}

.p360-toc li a:hover {
    text-decoration: underline;
}

.p360-toc .toc-h3 {
    padding-left: 15px;
}

.p360-toc .toc-h4 {
    padding-left: 30px;
}

/* FAQ Schema Styles */
.p360-faq-section {
    margin: 30px 0;
}

.p360-faq-item {
    border-bottom: 1px solid #eee;
    padding: 15px 0;
}

.p360-faq-item:last-child {
    border-bottom: none;
}

.p360-faq-question {
    font-weight: 600;
    margin-bottom: 10px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.p360-faq-question::after {
    content: '+';
    font-size: 20px;
    font-weight: normal;
}

.p360-faq-item.open .p360-faq-question::after {
    content: '−';
}

.p360-faq-answer {
    display: none;
    padding: 10px 0;
    color: #666;
}

.p360-faq-item.open .p360-faq-answer {
    display: block;
}

/* How-To Schema Styles */
.p360-howto {
    margin: 30px 0;
}

.p360-howto-step {
    display: flex;
    margin: 20px 0;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 8px;
}

.p360-howto-step-number {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: #2271b1;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    margin-right: 15px;
}

.p360-howto-step-content {
    flex: 1;
}

.p360-howto-step-content h4 {
    margin: 0 0 10px;
}

.p360-howto-step-content p {
    margin: 0;
    color: #666;
}

/* Lazy Load Images */
img.p360-lazy {
    opacity: 0;
    transition: opacity 0.3s;
}

img.p360-lazy.loaded {
    opacity: 1;
}
